【发布时间】:2017-01-04 22:35:02
【问题描述】:
我设置了会话 maxAge 的 express 喜欢记录。
这是我的代码:
app.use(session({
secret: process.env.SESSION_SECRET,
saveUninitialized: true,
resave: true,
maxAge: 1000* 60 * 60 *24 * 365,
store: new MongoStore({mongooseConnection:mongoose.connection})
}));
但每次我关闭浏览器时,我都会发现自己已登出。
另外,请注意我正在使用 Passport 本地、facebook 和 google 身份验证。
它们都过期了。
在控制台中,我可以看到 expires/maxAge 部分中的 connect.sid 列出了“会话”,而其他 cookie 有日期...
我做错了什么?
【问题讨论】:
-
会话基于 cookie。如果浏览器关闭时会话消失了,那么可能是因为会话 cookie 离开了浏览器。这可能是因为护照设置指定了非持久会话,或者是因为浏览器有一些设置在浏览器关闭时不保留 cookie。您可以从字面上检查浏览器以查看原始 cookie 是否仍然存在。
-
"在控制台中,我可以看到 expires/maxAge 部分中的 connect.sid 列出了 "Session" 而其他 cookie 有日期......" - 所以这不是浏览器设置。跨度>
标签: node.js session express passport.js express-session