express-session sessionid不能维持,固定sessionid情况下设置成功取值失败

发布于 2022-09-06 05:22:06 字数 953 浏览 10 评论 0

express应用,加载了express-session中间件,不管使用redis还是file还是默认的内存session,都无法保持session回话,刷新网页后的sessionid都会发生变化,通过genid回调设定sessionid固定后依然没法获取上个请求设置的session参数值

app.set('trust proxy', 1) // trust first proxy
        // app.use(cookieParser())
        app.use(session({
            name:global.APP_NAME||"n2hws",
            rolling:true,
            secret: 'keyboard cat',  // 用来对session id相关的cookie进行签名
            store: session_store,  // 本地存储session(文本文件,也可以选择其他store,比如redis的)
            saveUninitialized: true,  // 是否自动保存未初始化的会话,建议false
            resave: false,  // 是否每次都重新保存会话,建议false
            cookie: {
                // maxAge: 10 * 1000,  // 有效期,单位是毫秒
                secure: true,
                path:'/'
            },
            // genid: function(req) {
            //     return 1 // use UUIDs for session IDs
            // },
        }))
        app.listen(port,host)

求大神解答问题所在,已经卡住三天了,查了很多资料,没有相关描述。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话难免假 2022-09-13 05:22:06

你好

  • 首先为了观察方便,先使用redis

  • 然后抓请求观察sid(express-session默认是connect_sid)

  • 观察redis存储session情况,和前端是否匹配

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文