即使MongoStore使用connect-mongo,Express会话也不会持久
当我重新启动我的服务器,我的会话结束,我注销。 这不会在常规页面刷新上发生。 我正在使用connect-mongo来解决这个问题:
var session = require('express-session'); const MongoStore = require('connect-mongo')(session);
以下是我用来存储会话的代码,重用了一个名为thisDb
的现有Mongo连接:
app.use(session({ secret: secretHash, saveUninitialized: true, resave: true, secure: false, store: new MongoStore({ db: thisDb }) }));
在成功login期间:
var day = 60000*60*24; req.session.expires = new Date(Date.now() + (30*day)); req.session.cookie.maxAge = (30*day);
在我的Mongo shell中,我可以validation在login时是否创build了新的会话:
db.sessions.find()
{"cookie":{"originalMaxAge":2592000000,"expires":"2017-11-17T20:36:12.777Z","httpOnly":true,"path":"/"},"user":{"newNotifications":false,"username":"max","admin":"true","moderator":"true"},"expires":"2017-11-17T20:36:10.556Z"}