我正在尝试在我的 Node 服务器中设置会话 cookie,这是一个 Electron 应用程序的后端。我正在尝试遵循本指南。
https://firebase.google.com/docs/auth/admin/manage-cookies
我感到困惑的第一件事是该函数在“登录”部分的来源:const csrfToken = getCookie('csrfToken') “getCookie”是我应该自己编写的函数吗?
我也没有完全遵循“创建会话 cookie”片段的逻辑:
const csrfToken = req.body.csrfToken.toString();
// Guard against CSRF attacks.
if (csrfToken !== req.cookies.csrfToken) {
res.status(401).send('UNAUTHORIZED REQUEST!');
return;
}
Run Code Online (Sandbox Code Playgroud)
所以这看起来像是在检查请求主体的 CSRF 令牌是否与请求 cookie 的 CSRF 令牌中设置的相同?这是因为有人可能会手动设置 CSRF 令牌(即使用 Postman),但这样的请求不会通过,因为它不在req.cookies?这是否意味着不应在其客户端代码中设置 req.cookies ?
csrf firebase electron firebase-authentication firebase-admin