护照会话不会在浏览器closures时被破坏

我有一个Node.js服务器,我正在使用护照进行会话pipe理。 计划使用它来实现记住我很快的服务器function。 但我有一个问题,正常会议基本上就是记住我。 又名会话cookie connect.sid在浏览器closures时不会被破坏,我相信这不是正确的行为。 我正在使用connect-bluesky作为会话存储(使用azure色表格)和couchbase来存储默认会话信息以供将来使用。

相关代码:

Server.js

 app.configure(function() { app.use(express.logger('dev')); // log every request to the console // set up our express application app.use(express.cookieParser()); app.use(express.json()) .use(express.urlencoded()); app.use(express.static(__dirname)); var db = new couchbase.Connection({host: 'http://localhost:8091', bucket: 'default'}, function (err){ console.log("In cb connect"); console.log(err); }); app.use(express.session({secret: 'SECRET', store: new BlueskyStore({ account: 'ACCOUNT', key: 'KEY', table: 'sessionsTable', cookie: { path: '/', httpOnly: true, maxAge: null } }) })); app.engine('html', engines.ejs); //app.set('views', __dirname+'/views'); app.set('view engine', 'html'); var data = fs.readFileSync( __dirname+"/"+process.argv['2'],'utf8'); GLOBAL.infoJSON = JSON.parse(data); require('./config/passport')(passport, infoJSON); app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()); // use connect-flash for flash messages stored in session app.use(app.router); }); 

Routes.js

 function isLoggedIn(req, res, next) { if (req.isAuthenticated()) return next(); res.redirect('/'); } app.post('/login2', passport.authenticate('local-login'), function(req, res) { var input = "irrelevant input string"; var loginInfo = { input : input, userName : req.user.id, repoId : req.user.repoId } edgeMod.loginWF(loginInfo, req, res, function (req, res, result) { res.write(result); res.end(); }); }); app.get('/logout', function(req, res) { req.logout(); res.redirect('/'); }); 

passport.js

  passport.serializeUser(function(user, done) { db.set(user.id, user, function(err, result) { done(null, JSON.stringify(user)); }); }); passport.deserializeUser(function(json, done) { var user = JSON.parse(json); db.get(user.id, function(err, result) { if (result) { done(null, result.value); } else { done(new Error("Bad JSON string in session"), null); } }); }); passport.use('local-login', new LocalStrategy({ usernameField : 'email', passwordField : 'password', passReqToCallback : true }, function(req, email, password, done) { ---login checks--- return done(null, serializeJson); }); })); 

如何确保会话在浏览器closures时被破坏? 任何提示这样做是因为我第一次做这样的事情?

编辑:它似乎是清除浏览器closures在Firefox的会议,但不是在铬。 难道这与铬记得closures页面有关吗?

在Chrome浏览器选项中勾选“继续您离开的位置”似乎是问题所在。 浏览器上的会话没有被清除。