在我的 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));
有什么我做錯了,還是我應該尋找其他東西來找到這種行為的原因?
uj5u.com熱心網友回復:
store: new PostgreSqlStore({
pgPromise: db,
ttl: 2 * 60 * 60, //Hours, minute, seconds
})
我認為您的 PostgreSQL 存盤ttl屬性應該等同于maxAge會話配置的屬性
uj5u.com熱心網友回復:
我發現,雖然默認情況下會話確實在服務器上擴展,但如果沒有任何更改,它不會向瀏覽器發送更新的 cookie。缺少的屬性是“滾動”屬性。
var sessionConfig = {
rolling: true,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/429674.html
