在Express服务器的快速会话中不活动后的会话超时

时间:2014-05-08 15:15:59

标签: node.js express

我希望在1分钟不活动后使会话失效。我尝试了以下

 app.use(session({
     secret: config.sessionSecret,
     cookie: { maxAge: 60000 },
     store: new mongoStore({
        db: db.connection.db,
        collection: config.sessionCollection
     })
 }));

即使用户继续使用该应用程序,会话也会在用户登录1分钟后到期。我无法将其设置为在不活动1分钟后过期。有任何想法吗?再次感谢。

3 个答案:

答案 0 :(得分:1)

我不确定您是否已经解决了您的问题,但我遇到了同样的问题,并且我想发布修复此问题的内容以防万一。

似乎默认的expires将在指定的时间长度之后结束会话,无论用户在做什么,但是如果包含resave和rolling变量,它只会在空闲指定的时间长度后到期。

var express = require("express");
var session = require("express-session");

var app = express();

app.use (
    session ({
        secret: "53cr3t50m3th1ng",
        resave: true,
        rolling: true,
        saveUninitialized: false,
        cookie: {
            expires: 30 * 1000
        }
    })
);

答案 1 :(得分:0)

这是连接中的错误。看到这个问题:

https://github.com/senchalabs/connect/issues/670

答案 2 :(得分:0)

我知道现在回答这个查询为时已晚,但可能会对其他人有所帮助。

const session = require('express-session');
app.use(session({
secret: 'secret',
name: 'farmerApp',
resave: true,
saveUninitialized: true,
cookie: {
    expires: 120000
}
}));