gpt4 book ai didi

javascript - Express session 表现不同 : How can I prevent my session from being destroyed after a page refresh?

转载 作者:行者123 更新时间:2023-12-02 16:15:11 25 4
gpt4 key购买 nike

我正在使用express/node.js 创建一个简单的身份验证系统,并且当然使用 session 进行登录。在 app.js 中,这是我的 session 配置代码:

app.use(session({
secret: 'Viu65Cc5VTU6cu',
resave: true,
saveUninitialized: true,
cookie: { secure: true }
}));

据我所知,一旦我设置了像 req.session.session_name 这样的 session ,它应该一切正常。相反,在成功进行身份验证后,我将用户的 id 分配给名为 user id 的 session 。

req.session.user_id  = doc.id;

然后我希望这个值保持不变,直到我调用销毁函数或关闭浏览器。然而,第二次我响应 POST 请求(在应用程序的不同部分)时,我 console.log session 以查看它是否正常工作并且存在,但是我得到“未定义”。无论我在哪里调用console.log,我都会得到未定义的结果。 session 似乎也在页面刷新后结束,这与 session 的要点略有矛盾,不是吗?也许配置错误?或者这就是快速 session 的行为方式吗?

如果您能提供任何建议,请先致谢。

P.S 当我最初设置 session 时,我立即尝试了 console.log 该值,并且确实得到了一个有效值。之后它似乎变得未定义。

最佳答案

Cookie 设置 secure : true 仅在您通过 https 访问网站时才有效,如 documented here .

否则,将不会设置 session cookie,这基本上意味着 session 不会在页面请求之间持续存在。

关于javascript - Express session 表现不同 : How can I prevent my session from being destroyed after a page refresh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com