所以我正在使用与 mongo 商店的 express-session,如下所示:
app.use(session({
secret: 'some secret here',
saveUninitialized: false,
resave: false,
store: new MongoStore({
url: 'http://someurlhere'
})
}));
我有一些登录中间件,在成功登录后我想设置会话 cookie 到期时间。
所以我现在正在使用 10 秒的到期时间进行测试
req.session.cookie.expires = new Date(Date.now() + 10000);
我希望为每个后续请求重置会话到期。目前在 10 秒后,无论我在登录后发出多少请求,会话都会过期。
我觉得我在这里误解了一些东西!
编辑
好的,所以我错过了rolling
文档中的配置选项,但即使我在会话配置选项中将其设置为 true,也会发生相同的行为:
app.use(session({
secret: 'some secret here',
saveUninitialized: false,
resave: false,
store: new MongoStore({
url: 'http://someurlhere'
}),
rolling: true,
cookie: {
maxAge: 10000
}
}));
我现在在控制台记录我的路由中 cookie maxAge 的值,并看到它随着登录后的每个后续请求而减少,它永远不会重置回 10000。
我究竟做错了什么?
解决了
好的,所以我遇到了关于这个问题的评论
我更改resave
为 true ,它现在按预期工作。