17

我已经看到了几种变化。假设我希望我的 cookie 在一秒钟后过期。我应该使用

app.use(express.session({ secret: 'mysecret',  maxAge: new Date(Date.now() + 1000)}));

或者

app.use(express.session({ secret: 'mysecret',  maxAge: 1000}));

或者

app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: new Date(Date.now() + 1000)}}));

或者

app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: 1000}}));

还假设我已正确设置我的 cookie 过期并且它已过期。如果用户不重新启动他们的浏览器,他们是否仍然保留 cookie 信息,直到他们这样做?

4

1 回答 1

21

我认为您最好直接查看源代码。

对于 Express,它使用连接中间件,这是会话的代码https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L67

在连接站点http://www.senchalabs.org/connect/session.html上还有更多文档

所以你可以做

app.use(express.session({ secret: 'mysecret',  cookie: {expires: new Date(Date.now() + 1000)}}));

或者

app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: 1000}}));
于 2012-05-03T11:14:09.013 回答