diff --git a/lib/sessionmanager.js b/lib/sessionmanager.js index f4123def..81b59b1d 100644 --- a/lib/sessionmanager.js +++ b/lib/sessionmanager.js @@ -1,3 +1,5 @@ +var merge = require('utils-merge'); + function SessionManager(options, serializeUser) { if (typeof options == 'function') { serializeUser = options; @@ -33,7 +35,7 @@ SessionManager.prototype.logIn = function(req, user, options, cb) { return cb(err); } if (options.keepSessionInfo) { - Object.assign(req.session, prevSession); + merge(req.session, prevSession); } if (!req.session[self._key]) { req.session[self._key] = {}; @@ -83,7 +85,7 @@ SessionManager.prototype.logOut = function(req, options, cb) { return cb(err); } if (options.keepSessionInfo) { - Object.assign(req.session, prevSession); + merge(req.session, prevSession); } cb(); }); diff --git a/package.json b/package.json index 53cbd220..00398a85 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "main": "./lib", "dependencies": { "passport-strategy": "1.x.x", - "pause": "0.0.1" + "pause": "0.0.1", + "utils-merge": "^1.0.1" }, "devDependencies": { "make-node": "0.3.x",