NodeJS / express 会话提前超时
NodeJS / express session timing out early
在我的 NodeJs/Express 应用程序中,我使用标准会话包和 Passport 来处理会话和登录。我的问题是,该应用程序会在感觉 10 分钟不活动后将用户踢出,并强制他们再次登录。我的假设是它一定与会话配置有关,以我有限的理解,我认为配置允许2小时:
const session = require("express-session");
const PostgreSqlStore = require("connect-pg-simple")(session);
const sessionAge = 2 * 60 * 60 * 1000; // hour, min, sec, millisecond
var sessionConfig = {
name: "mysite",
secret: "verysecret",
resave: true,
saveUninitialized: false,
proxy: trustedTypes,
cookie: {
key: "cookieKey",
secure: true,
sameSite: false,
httpOnly: true,
maxAge: sessionAge,
},
store: new PostgreSqlStore({
pgPromise: db,
ttl: 2 * 60 * 60, //Hours, minute, seconds
}),
};
app.use(session(sessionConfig));
有没有我做错了什么,或者我应该看看其他什么来找出这种行为的原因?
store: new PostgreSqlStore({
pgPromise: db,
ttl: 2 * 60 * 60, //Hours, minute, seconds
})
我认为您的 PostgreSQL 存储 ttl
属性 应该等同于 maxAge
属性 的会话配置
我发现,尽管默认情况下会话确实在服务器上得到扩展,但如果其中没有任何更改,它不会向浏览器发送更新的 cookie。缺少的 属性 是 'rolling' 属性。
var sessionConfig = {
rolling: true,
在我的 NodeJs/Express 应用程序中,我使用标准会话包和 Passport 来处理会话和登录。我的问题是,该应用程序会在感觉 10 分钟不活动后将用户踢出,并强制他们再次登录。我的假设是它一定与会话配置有关,以我有限的理解,我认为配置允许2小时:
const session = require("express-session");
const PostgreSqlStore = require("connect-pg-simple")(session);
const sessionAge = 2 * 60 * 60 * 1000; // hour, min, sec, millisecond
var sessionConfig = {
name: "mysite",
secret: "verysecret",
resave: true,
saveUninitialized: false,
proxy: trustedTypes,
cookie: {
key: "cookieKey",
secure: true,
sameSite: false,
httpOnly: true,
maxAge: sessionAge,
},
store: new PostgreSqlStore({
pgPromise: db,
ttl: 2 * 60 * 60, //Hours, minute, seconds
}),
};
app.use(session(sessionConfig));
有没有我做错了什么,或者我应该看看其他什么来找出这种行为的原因?
store: new PostgreSqlStore({
pgPromise: db,
ttl: 2 * 60 * 60, //Hours, minute, seconds
})
我认为您的 PostgreSQL 存储 ttl
属性 应该等同于 maxAge
属性 的会话配置
我发现,尽管默认情况下会话确实在服务器上得到扩展,但如果其中没有任何更改,它不会向浏览器发送更新的 cookie。缺少的 属性 是 'rolling' 属性。
var sessionConfig = {
rolling: true,