重新启动浏览器后,我的cookie不会保留

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

我正在使用cookieSession来处理会话问题。没问题,除非我重新启动浏览器,我的会话不会持续存在。我希望每次会议都保持活跃,永不过期。

这是我的设置

app.use(cookieSession({
  name: 'xxxx',
  keys: ['xxxxx', 'xxxx'],
  cookie: { secure: true,
            httpOnly: true,
            domain: 'mydomain.com',

            expires: 9999999999999999999999999999999999999999 
          }
  })
); 

有什么建议吗?

node.js express cookies cookie-session
1个回答
0
投票

看看cookie-session readme,我认为你不需要在cookie财产中嵌套你的选择。此外,expires采取Date对象;你应该将该值传递给maxAge,如果你想给它一个毫秒数,直到cookie过期。请记住,所有cookie都会根据cookie specification到期,因此您可以做的最好的事情是在将来设置一个到期时间。

试试这个:

app.use(cookieSession({
  name: 'xxxx',
  keys: ['xxxxx', 'xxxx'],
  secure: true,
  httpOnly: true,
  domain: 'mydomain.com',
  maxAge: 9999999999999999999999999999999999999999 
  })
); 

编辑:一些较旧的浏览器不支持maxAge,因此expires可能更适合兼容性。另外,请注意maxAge的溢出;否定值可能导致浏览器立即使cookie过期或浏览器关闭时。考虑使用Number.MAX_SAFE_INTEGER

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