3

在使用 express.js 开发的 Web 应用程序中,当用户超过 10 分钟未处于活动状态时,会出现会话过期问题。我使用 connect-couchdb 作为会话存储。

我尝试设置 req.session.cookie.maxAge = 600000。但这会导致会话在登录后 10 分钟过期,而与用户活动无关。我对文档的理解是 req.session.touch() 将由连接中间件自动调用,因此 maxAge (和到期日期)应该被刷新,因此它会再持续 10 分钟,但它没有发生!

我还尝试在每个请求上将 maxAge 设置为 600000 并调用 req.session.save() 但即使这样也没有效果。

我究竟做错了什么?

4

1 回答 1

1

你没有做错任何事——这是 Connect 中的一个错误。会话 cookie 会在服务器中更新,但不会推送到客户端,因此客户端会继续尝试使用旧 cookie,它会比您想要的更早过期。

更多细节和讨论在这里

于 2013-07-01T04:44:41.013 回答