Firebase Auth 的本地(持久身份验证状态)是否安全且不受浏览器的 XSS 和 CSRF 影响?

Joo*_*oon 7 xss csrf jwt firebase firebase-authentication

我正在将 Firebase Auth 用于涉及金融交易的网络应用程序。因此,安全性对我的应用程序来说是最重要的。根据这个 doc,Firebase 可以通过将其存储在某个地方来跨多个会话保留其令牌。它没有提到它对 XSS 的安全性。当然,我可以假设它是安全的,因为它是谷歌,但我想了解更多。

我们都读过一些文章,指出 localStorage 存储身份验证是不安全的,而 cookie + csrf 令牌 + jwt + httpOnly 是处理浏览器身份验证的更安全的方式。

Firebase 如何存储其令牌?它使用 localStorage 或 cookie,还是两者的组合?

R. *_*ght 6

Firestore 将令牌保存在索引数据库 ( https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API ) 中。数据库名为“firebaseLocalStorageDb”,对象存储名为“firebaseLocalStorage”,键为 firebase:authUser:[id]。

如需进一步的代码审查,请查看https://github.com/firebase/firebase-js-sdk/blob/master/packages/auth/src/authuser.js