Firebase Auth的本地(持久化的身份验证状态)在浏览器中是否安全可靠,能够防止XSS和CSRF攻击?

10 浏览
0 Comments

Firebase Auth的本地(持久化的身份验证状态)在浏览器中是否安全可靠,能够防止XSS和CSRF攻击?

我正在使用Firebase Auth为涉及金融交易的Web应用程序。因此,安全性是我的应用程序最重要的事情。根据这篇文档,Firebase可以通过将令牌存储在某个地方来在多个会话中保持令牌有效。它没有提及如何防止XSS攻击。当然,我可以假设它是安全的,因为它是Google的产品,但我想更多地了解它。

我们都读过有关将认证信息存储在localStorage不安全的文章,以及使用cookie + csrf令牌 + jwt + httpOnly来处理浏览器认证的更安全的方式。

Firebase是如何存储其令牌的?

它使用localStorage还是cookie,或者两者的结合?

0
0 Comments

Firebase Auth的本地(持久化的身份验证状态)是否安全,可以抵御浏览器中的XSS和CSRF攻击?

Firestore将令牌保存在Indexed DB中(https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)。DB的名称为"firebaseLocalStorageDb",对象存储为"firebaseLocalStorage",键为firebase:authUser:[id]。

有关更多代码审查,请查看https://github.com/firebase/firebase-js-sdk/blob/master/packages/auth/src/authuser.js。

就安全性而言,我认为关于cookie和本地存储之间存在很多争议(https://stackoverflow.com/questions/44133536),因此很可能无法简单/明确地称其为安全或不安全。

还有一个好问题是https://stackoverflow.com/questions/27067251?rq=1。

根据上述内容,我们可以看出,这个问题的出现原因是关于Firebase Auth的本地身份验证状态是否安全的讨论。其中,Firestore使用Indexed DB存储令牌,但是否能够抵御XSS和CSRF攻击存在争议。相关链接提供了其他开发者的讨论和观点。

解决方法目前并未明确提及,但可以通过进一步的研究和讨论来评估Firebase Auth的本地身份验证状态的安全性。

0