diff --git a/lib/sessionmanager.js b/lib/sessionmanager.js index 0fdbd8bd..54818650 100644 --- a/lib/sessionmanager.js +++ b/lib/sessionmanager.js @@ -4,7 +4,7 @@ function SessionManager(options, serializeUser) { options = undefined; } options = options || {}; - + this._key = options.key || 'passport'; this._serializeUser = serializeUser; } @@ -23,7 +23,16 @@ SessionManager.prototype.logIn = function(req, user, cb) { req.session = {}; } req.session[self._key] = req._passport.session; - cb(); + if (typeof req.session.save == 'function') { + req.session.save(function (err) { + if (err) { + return cb(err); + } + cb(); + }); + } else { + cb(); + } }); }