express-session:滚动会话到期配置

时间:2016-04-01 09:04:40

标签: node.js express express-session

所以我正在使用像mongo商店这样的快速会话:

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.

我做错了什么?

解决

好的,所以我发现了对此问题的评论 - https://github.com/expressjs/session/issues/189#issuecomment-182631933

我将resave更改为true,现在按预期工作。

0 个答案:

没有答案