繁体   English   中英

使用Firebase电子邮件/密码身份验证进行CSRF保护

[英]CSRF Protection with Firebase Email/Password Authentication

我正在努力将我的Node.js应用程序部署到生产环境中。 我们遇到了一些CSRF问题,但在深入研究问题并更多地了解CSRF攻击后,我想知道我们是否需要执行这些检查。

我们的API通过CSRF检查列入白名单,因此我们依赖API的移动应用程序可以正常运行(我们正在努力确保当前的安全)。 在Web前端,我们允许用户注册/登录并创建/编辑他们的数据。 我们使用Firebase的电子邮件/密码身份验证系统来执行身份验证( https://firebase.google.com/docs/auth/web/password-auth )。 据我了解,这意味着我们不必担心CSRF对注册和登录的攻击,因为Firebase会对此进行处理。 我的问题是:如果我们确保我们的用户在我们的应用程序中的每个邮政路线上使用Firebase进行身份验证,这是否意味着我们不必担心CSRF攻击?

保存会话cookie时,CSRF会成为问题。 Firebase Auth当前在Web存储(localStorage / indexedDB)中保留Auth State,并且不会沿请求传输。 您需要运行客户端代码以获取Firebase ID令牌并通过标头或POST正文等将其传递给请求。在后端,您将在提供受限内容或处理经过身份验证的请求之前验证ID令牌。 这就是为什么在目前的形式中,CSRF不是问题,因为需要Javascript从本地存储获取ID令牌,而本地存储是单个主机源,使得它不能从不同的来源访问。

如果您计划在Cookie中保存ID令牌或在Firebase身份验证后设置自己的会话Cookie,那么您应该考虑防范CSRF攻击。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM