无法使用Express 3.0在Node.js中设置cookie'expires'或'maxAge'

我一直在尝试使用Express 3.0在Node.js中设置我的Cookie的到期date,但没有任何工作。

我第一次尝试:

res.cookie('user', user, { maxAge: 9000, httpOnly: true }); 

根据Chrome浏览器只能截止一个无效的到期时间。 然后,我试图设置“过期”,而不是像这样:

 res.cookie('user', user, { expires: new Date(new Date().getTime()+5*60*1000), httpOnly: true }); 

现在我的cookie只是一个会话cookie。

有谁知道如何解决这一问题?

你必须使用req.session.cookie

 req.session.cookie.expires = false; req.session.cookie.maxAge = 5 * 60 * 1000; 

另请参阅连接文档 。

接受的答案不适用于我..但原来的问题有版本,确实有效。 例如

 var language = 'en'; //10 * 365 * 24 * 60 * 60 * 1000 === 315360000000, or 10 years in milliseconds var expiryDate = new Date(Number(new Date()) + 315360000000); this.__res.cookie('lang', language, { expires: expiryDate, httpOnly: true }); 

请注意,maxAge以毫秒为单位 –

 res.cookie('jwtToken', token, { maxAge: 2 * 60 * 60 * 1000, httpOnly: true }); // maxAge: 2 hours