我的会话存在一些问题,当我关闭浏览器时,会话会过期。我不希望这样。
我尝试设置maxAge和/或过期日期,但每次重新启动浏览器时,该会话都会消失。根据我的理解,如果我有一个maxAge,当我关闭浏览器时它不应该过期,我在这里错了吗?
以下是我的登录功能,如果成功,我会设置会话。
登录
login: function(req, res) {
// A bunch of checks
..
if(success) {
//req.session.cookie.expires = newDate;
req.session.cookie.maxAge = 60 * 60 * 1000;
req.session.authenticated = true;
res.json(req.session);
}
}
每当我打开我的应用程序时,我都会在下面运行此功能,以查看会话是否处于活动状态。如果我刷新页面,甚至关闭选项卡,它的效果很好。然后会话仍然存在,我仍然登录。 然而,当我关闭它时,它就像风一样消失了:)
sessionCheck :
sessionCheck: function(req, res, next) {
console.log(req.session); // Has expired on browser close.
if(req.session.authenticated) {
res.json(req.session);
} else {
..
}
}
我的错误所在的任何想法?或者我误解了会话如何在这里工作?如果是这样,任何指针都表示赞赏。
目标::希望在重新启动浏览器时保持会话。
答案 0 :(得分:0)
你可以保持会话使用redis / mongo / cookie,看看config / session.js,你应该在config / local.js覆盖它。