如何通过express-session在node.js上设置持久性cookie?

问题描述 投票:0回答:1

我想创建现有的Cookie,以便我的应用程序用户不必每次进入网络都必须登录。但是,如果他/她曾经注销过,只需要登录即可。基本上,我想知道是否有一种方法可以将maxAge设置为infinity(等效),并且即使用户关闭了浏览器,cookie也可以保留。这是我的代码:

app.use(expressSession({
  secret: '',
  resave: false,
  saveUninitialized: false,
  cookie: {
     secure: false,
     expires: false,
 }
}))
node.js express cookies express-session
1个回答
0
投票

基于标准,您不能将其设置为无穷大:

Max-Age =值可选的。 Max-Age属性的值是delta-seconds,Cookie的生存时间(以秒为单位),十进制非负数整数。为了正确处理缓存的cookie,客户端应该根据年龄计算来计算Cookie的年龄HTTP / 1.1规范[RFC2616]中的规则。当年龄是大于delta-seconds秒的时间,客户端应丢弃曲奇饼。零值表示该Cookie应该被丢弃立即。

http://www.faqs.org/rfcs/rfc2965.html

但是您也可以将年龄安全地设置为5岁或10年。到那时,用户很可能会摆脱他的设备/ PC /移动设备。 :)

© www.soinside.com 2019 - 2024. All rights reserved.