在节点中,我有一个 https 服务器,并且我使用具有 maxage 值的会话,这是代码:
app.use(express.cookieParser());
app.use(express.session({
secret: 'secret stuff',
store: sessionStore,
cookie: {
secure: true,
maxAge: 60 * 1000 //1 minute
}
}));
我想要一个功能,例如如果用户在 maxAge 期间(在这种情况下为 1 分钟)访问该站点,cookie 计时器将重新开始,并且他/她还有 1 分钟的时间来释放它的会话 ID。
我看到它req.session._expires
已更新(由会话中间件),但 cookie 保持原样。所以cookie会过期,connect.sid
会生成一个新的session id。
我怎样才能做到这一点?我认为它是由会话中间件自动完成的,但似乎 cookie 的到期和会话的到期是两件不同的事情,而不是 session._expires 它是干什么用的?
编辑
在这里DanielBaulig 更好地说明我的问题。正如 Marc B 在评论中所写,cookie 过期了,因此会话成为孤立的。这就是我想要避免的,我想在会话被触摸时更新 cookie。