Node.js 快速会话滚动不工作

Node.js 快速会话滚动不工作,node.js,session,express,express-session,Node.js,Session,Express,Express Session,我已经看到了很多关于这方面的问题,但没有一个答案解决了我的问题。我使用的是express会话,我希望只要用户在coookie MaxAge过期之前发出请求,用户会话就保持活动状态,因此我使用的是滚动选项。对于测试,我将MaxAge过期时间设置为30秒 如果我在两次点击之间只需几秒钟就可以浏览,则会话似乎保持活动状态。但是,如果我发出请求,然后等待20秒,会话将过期,我将注销,即使我在30秒内还行 以下是我如何配置express会话: var express = require('express'

我已经看到了很多关于这方面的问题,但没有一个答案解决了我的问题。我使用的是
express会话
,我希望只要用户在coookie MaxAge过期之前发出请求,用户会话就保持活动状态,因此我使用的是
滚动
选项。对于测试,我将MaxAge过期时间设置为30秒

如果我在两次点击之间只需几秒钟就可以浏览,则会话似乎保持活动状态。但是,如果我发出请求,然后等待20秒,会话将过期,我将注销,即使我在30秒内还行

以下是我如何配置
express会话

var express = require('express')
, cookieParser = require('cookie-parser')
, session = require('express-session');

var app = express();
app.use(cookieParser(EXPRESS_SECRET));
app.use(
    session({
        cookie: { maxAge : 30000 },     //in milliseconds. 30 seconds for testing
        resave: false,                  //Save the session to store even if it hasn't changed
        rolling: true,                  //Reset the cookie Max-Age on every request
        saveUninitialized: false,       //Don't create a session for anonymous users
        secret: EXPRESS_SECRET,
        store: new MongoStore({ mongooseConnection: mongooseConnection })
    })
);
我的期望是将
rolling
设置为true应该允许我持续保持登录状态,只要我在少于每个MaxAge的时间内至少单击一次

我还需要做些什么才能让它正常工作吗

  • 建议将
    resave
    设置为true,但这并没有改变我的结果
  • 建议将httpOnly设置为false,但对我没有任何更改
  • 我尝试了
    secure
    设置为true和not set,结果相同(我的站点是https)
  • 我尝试将
    saveUninitialized
    设置为true和false,结果相同
  • 快递:4.12.1
  • 快速会议:1.10.3
  • cookie解析器:1.3.5
更新:

奇怪的是,我每15秒都会访问同一个页面,并监控Chrome浏览器工具中的
connect.sid
cookie,通常每次请求都会重置30秒,但偶尔,当我发出请求时,它不会改变。果不其然,再等15秒,会话就过期了,我就退出了


我记录了一个有关
快速会话
的问题:

尝试
重新保存
。您将其用作
false
“这篇文章建议将resave设置为true,但它没有改变我的结果。”您是否在没有MongoStore和使用内存会话的情况下对其进行了测试?我还没有尝试过,升级到最新版本已经解决了问题