【问题标题】:nodejs session timeout doesn't work for the specified timenodejs会话超时在指定时间内不起作用
【发布时间】:2021-09-07 09:59:05
【问题描述】:

我有一个 nodejs 网络应用程序,我已将会话超时设置为 2 小时,但会话在 2 小时前超时, 我的 nodejs 应用程序部署在谷歌云应用程序引擎中。 这就是我设置会话的方式

app.use(session({
   resave: true , 
   rolling: true,
   secret: '****' , 
   genid: function(req) { return uuid(); },
   saveUninitialized: true,
   cookie: {
    maxAge: 7200000 
}}));

即使在 2 小时内没有在网络上点击,我也需要我的会话处于活动状态。如果网络上有请求,则需要推出会话。 任何帮助将不胜感激。

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    这可能是时区差异问题。

    来自文档:

    cookie.maxAge:指定计算 Expires Set-Cookie 属性时使用的数字(以毫秒为单位)。这是通过获取当前服务器时间并将 maxAge 毫秒添加到该值来计算 Expires 日期时间来完成的。

    我建议你使用 cookie.expires 与 UTC 值: 将 Date 对象指定为 Expires Set-Cookie 属性的值

    【讨论】:

    • 很高兴我能帮上忙!
    猜你喜欢
    • 2014-12-05
    • 2016-01-21
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2014-12-13
    相关资源
    最近更新 更多