gpt4 book ai didi

firebase - 使用 Firebase 和 Electron 管理 session Cookie

转载 作者:行者123 更新时间:2023-12-03 12:20:22 30 4
gpt4 key购买 nike

我正在尝试在我的 Node 服务器中设置 session cookie,这是一个 Electron 应用程序的后端。我正在尝试遵循本指南。

https://firebase.google.com/docs/auth/admin/manage-cookies

我感到困惑的第一件事是此功能在“登录”部分中的来源:const csrfToken = getCookie('csrfToken') 'getCookie' 是我应该自己编写的函数吗?

我也没有完全遵循“创建 session cookie”片段的逻辑:

const csrfToken = req.body.csrfToken.toString();
// Guard against CSRF attacks.
if (csrfToken !== req.cookies.csrfToken) {
res.status(401).send('UNAUTHORIZED REQUEST!');
return;
}

所以这看起来像是在检查请求主体的 CSRF token 是否与请求 cookie 的 CSRF token 中设置的相同?这是因为有人可能手动设置 CSRF token (即使用 Postman)但这样的请求不会通过,因为它不在 req.cookies 中?这是否意味着不应在其客户端代码中设置 req.cookies ?

最佳答案

getCookie基本上是一个cookie getter。您可以自己编写或在线查找实现。
至于CSRF检查,这是对CSRF攻击的基本防御。 CSRF token 设置在 cookie 中,然后在帖子正文中返回。后端将确认 cookie 中的 CSRF token 与 POST 正文中的 token 匹配。基本上这里的想法是只有来自您网站的请求才能读取 cookie 并将其传递到 POST 正文中的请求中。如果请求来自另一个网站,他们将无法读取 cookie 并将其传递到 POST 正文中。虽然 CSRF token cookie 将始终与请求一起传递,即使来自其他来源, token 在 POST 正文中将不可用。

快速入门 node.js 实现位于:https://github.com/firebase/quickstart-nodejs/tree/master/auth-sessions

关于firebase - 使用 Firebase 和 Electron 管理 session Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50558607/

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