簡體   English   中英

NodeJS / express session 提前超時

[英]NodeJS / express session timing out early

在我的 NodeJs / Express 應用程序中,我使用標准的 session package 和 Passport 來處理會話和登錄。 我的問題是,該應用程序會在感覺 10 分鍾不活動后將用戶踢出,並強制他們再次登錄。 我的假設是,它必須與 session 配置有關,以我有限的理解,我認為配置允許 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屬性應該等同於 session 配置的maxAge屬性

我發現顯然雖然默認情況下 session 確實在服務器上得到擴展,但如果沒有任何更改,它不會向瀏覽器發送更新的 cookie。 缺少的屬性是“滾動”屬性。

var sessionConfig = {
   rolling: true,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM