在节点中我有一个https服务器,我使用具有最大值的会话,这是代码:
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将过期,将生成新的会话ID connect.sid
。
我怎样才能做到这一点?我认为它是由会话中间件自动完成的,但似乎cookie的到期和会话的到期是两个不同的事情,而不是session._expires是什么?
修改
Here DanielBaulig更好地说出我的问题。正如Marc B在评论中写道,cookie过期,因此会话变得孤立。这就是我想要避免的,我希望在会话被触及时更新cookie。
答案 0 :(得分:2)
尝试
cookie: {
secure: true,
expires: new Date(Date.now() + 60 * 1000), // plus 1 minute
maxAge: 60 * 1000 //1 minute
}
我认为过期日期未正确重置。