0

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

这是我的设置

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

            expires: 9999999999999999999999999999999999999999 
          }
  })
); 

有什么建议吗?

4

1 回答 1

1

查看cookie-session 自述文件,我认为您不需要将选项嵌套在cookie属性中。另外,expires取一个Date对象;你应该传递那个值,maxAge而不是如果你想给它一个毫秒数,直到 cookie 过期。请记住,所有 cookie 都会根据cookie 规范过期,因此您能做的最好的事情就是将过期时间设置在很远的将来。

尝试这个:

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.

于 2019-01-04T15:37:51.703 回答