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