将maxAge与Express.js一起使用的正确方法是什么?

时间:2012-05-03 10:30:46

标签: node.js express

我见过几种变化。假设我希望我的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信息,直到他们这样做了吗?

1 个答案:

答案 0 :(得分: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}}));