【问题标题】:Node.js/Express.js session management cookie to be session cookieNode.js/Express.js 会话管理 cookie 为会话 cookie
【发布时间】:2012-02-09 04:09:52
【问题描述】:

我怎样才能使 connect.sid cookie 本身只是一个会话 cookie 而不是持久性的?

我没有成功

app.use(express.session({cookie: { path: '/', httpOnly: true}, secret:'eeuqram'}));

但是 cookie 仍然有过期时间戳。

【问题讨论】:

  • 你试过了吗? *.com/questions/4371178/…
  • 其实这是我最先评论的地方。我知道如何创建仅会话 cookie,但我希望在使用会话时创建的默认 cookie(该 cookie 的默认名称是 connect.sid)是非持久性 cookie。
  • 我想你忘记了最重要的部分 => expires: new Date() - 1?
  • "new Date() - 1" 不会在nodejs服务器上进行评估吗?如果是这样,那与浏览器的时区有什么关系?我尝试使用 chrome,它使 cookie 和会话过期 - 我留下了太多的重定向(我使用的是 SSO 解决方案)。

标签: node.js cookies express session-cookies


【解决方案1】:
 app.use(express.session({cookie: { path: '/', httpOnly: true, maxAge: null}, secret:'eeuqram'}));

以上工作。因此,通过将 maxAge 设置为 null,我确实管理 expressjs 以使用会话 cookie。唷。

【讨论】:

  • 我猜你应该接受你自己的答案,这样话题才能结束。
  • 我会的.. 看来我必须等待至少 24 小时才能接受我自己的答案。