16

在 express 中,maxAge=null会话 cookie 中的设置是否设置会话 cookie 终生不过期?

4

2 回答 2

19

如果您不希望会话过期,请将 cookie 过期日期设置为远在未来的日期:

app.use(session({
  store: sessionStore, 
  secret: config.session.secret, 
  cookie: {expires: new Date(253402300000000)}  // Approximately Friday, 31 Dec 9999 23:59:59 GMT
}))  

请参阅快速会话文档。

如果您担心使用未来到目前为止的日期,请尝试new Date(2147483647000)(星期二,2038 年 1 月 19 日 03:14:07 GMT,2^31 - 1以毫秒为单位)

于 2015-02-03T01:36:19.867 回答
7

Express 使用Connect 的会话中间件来处理这个问题:

默认情况下 cookie.maxAge 为 null,这意味着没有设置“expires”参数,因此 cookie 成为浏览器会话 cookie。当用户关闭浏览器时,cookie(和会话)将被删除。

于 2013-09-12T12:51:13.757 回答