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

2023-11-27

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

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

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


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 .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 我是否需要扩展 FirebaseInstanceIdService 才能订阅 FCM 主题?

    我想从客户端 android 应用程序 管理主题订阅 我目前正在 onCreate 活动中执行此操作 我想知道正确的方法是否是在 InstanceIdService onTokenRefresh 或任何方便的时间 单击按钮等 订阅 取消订阅
  • 使用 PHPcurl 和 CSRF 令牌登录

    我想从 PHP 脚本登录到另一个网站 但我总是收到这样的回复 403 Error CSRF token mismatch 我从网站上的隐藏字段中提取了 CSRF 令牌 但它似乎是错误的 这是我的代码 username testuser pa
  • 无法解析以下类的超类型

    I have android app in kotlin这给了我这个错误 错误 无法解析以下类的超类型 请确保类路径中具有所需的依赖项 com google firebase auth FirebaseAuth 类 未解析的超类型 com
  • 如何在reactfire上启用持久性?

    我想使用以下方法在我的 PWA React 应用程序上实现 Firestore 离线持久性反应火 https github com FirebaseExtended reactfire图书馆 const firestore useFires
  • 无法将项目部署到 firebase

    我尝试将我的应用程序部署到 firebase 但失败了 firebase 部署 project af2test 您的 CLI 身份验证需要更新才能利用 新功能 请运行 firebase login reauth 错误 无法授权访问项目 af
  • Flutter:未捕获的 ReferenceError:firebase 未定义

    我在 Flutter Web 应用程序中使用 Firebase 服务 但在加载 Firebase 脚本时遇到问题 当我使用扑动时运行 d chrome我看到有错误的空白页面 重新加载页面后加载正常 当我进行 flutter build we
  • Django的注释框架和CSRF

    据我了解 Django的评论框架 https docs djangoproject com en 1 4 ref contrib comments 专为匿名公众评论而设计 就像您通常在博客或文章下面看到的那样 换句话说 任何人都可以发表评论
  • 自定义 django-rest-framework-simplejwt 的 JWT 响应

    我正在设置 Django 来发送 JWT 响应而不是视图 我尝试使用 django rest framework simplejwt 这个框架中提供了一个函数TokenObtainPairView as view 返回一对 jwt 我需要使
  • 没有为类型“Object”定义运算符“[]”。尝试定义运算符“[]”

    我的代码在下面给出了我在这一行中从 firebase 访问用户名时遇到的问题的错误 snapshot data username 它给出了上面提到的错误 我知道访问地图数据的唯一方法是这个 FutureBuilder future Fire
  • 如何使用过滤器进行输出编码以防止XSS?

    我在 servlet 中使用以下代码 protected void doGet HttpServletRequest request HttpServletResponse response throws ServletException
  • 在将图像上传到 firebase 之前调整图像大小

    Firebase 存储看起来非常酷且易于使用 但我想知道是否有一种方法可以在将图像上传到 Firebase 存储之前调整图像大小 例如 在服务器中使用 ImageMagick 运行一个进程 然后使用 Firebase SDK 运行上传过程
  • Firestore 更新后仅获取文档一次

    我有一个 tableView 它从 Firestore 集合中获取所有文档 并且我只想在用户刷新 tableView 后将最后一个文档添加到 Firestore 时获取一次 然后我想删除侦听器 以便当用户刷新 tableView 时仅获取文
  • Firebase,只得到新的孩子[重复]

    这个问题在这里已经有答案了 var firebase new Firebase firebaseRef on child added function snapshot 这将接收所有元素 有没有办法在创建新的 Firebase 引用时不接收
  • 如何在 Firebase 控制台中使用 Apple 新的 APN .p8 证书

    随着最近 Apple 开发者帐户的升级 我面临着一个困难 在尝试创建推送通知证书时 它为我提供了 p8 证书 而不是可以导出到 p12 的 APNs 证书 Firebase 控制台仅接受 p12 证书 那么我如何从这些新的 p8 证书中获取
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 为 Node.js 客户端应用程序保留 Firebase 用户

    我正在使用 Firebase 构建 Node js 命令行界面 CLI 用于与后端进行身份验证 我想避免让用户每次运行命令时都输入密码 相反 我想实现一个 登录 流程 将凭证保留到文件系统 该凭证可用于后续的无密码身份验证 直到用户 注销
  • Flutter - 名称为 [DEFAULT] 的 FirebaseApp 不存在

    我正在使用 firebase 身份验证系统和 Firestore 开发一个 flutter 应用程序 我工作了3个月 之前没有遇到过这个错误 现在我在 Play 商店上发布了我的应用程序 并且我发现使用模拟器的调试版本也出现此错误 我认为已
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • Firestore - 从文档中获取特定字段

    我需要的 我想在 Firestore 中保存文章或注释及其各自的字段 Title 内容 文本或段落 创建日期 所有者 与其他人分享该文章 人和谁可以编辑它们 例如 https firebase google com docs firesto

随机推荐

  • Django 如何将 npm 模块与静态/模板一起使用

    我最近添加了npm添加到我的项目中 以便更好地跟踪我的 js 依赖项 以前我刚刚 git 克隆到我的 static vendor 文件夹 我还添加了gulp 但现在只让它做 hello world 的事情 它看起来很简单 它可以监视文件 缩
  • 有没有办法使用 Python 访问 OS X wi-fi 数据? (例如信号强度)

    我只是好奇是否可以使用任何 Python 工具来轮询 OS X 中的 Wi Fi 信号强度 我的大多数搜索都只是生成适用于 Linux 的 Python 工具 但没有找到适用于 OS X 的 Python 工具 如果没有 是否有其他方法可以
  • 使用 AdMob 展示我自己的广告?

    我已将 AdMob 集成到我的应用程序中 是否可以使用 Admob 展示我自己的广告 如果没有 那么最好的选择是什么 是的 Ad Mob 允许您选择使用 自家广告活动 选项 话虽这么说 如果通过 使用 Admob 展示我自己的广告 你的意思
  • 在 C++ 中实现模拟非确定性有限自动机的代码

    我正在做自动机理论的作业 我必须确定确定性有限自动机的转换函数是否接受一个单词 我有这个输入文件 6 8 0 2 2 5 0 0 a 0 1 a 1 1 b 1 2 c 1 3 c 3 4 d 4 4 d 4 5 d 3 aaabcccc
  • SQL注入无法正常工作

    我正在尝试在我的本地主机上为安全测试项目创建的虚拟网站上执行 SQL 注入 我尝试输入字符串 OR 进入用户名和密码字段 这样它应该绕过它并显示登录正确 但相反它显示登录失败 任何有助于理解为什么 SQL 注入不起作用的帮助
  • 如何通过react js中的map方法仅访问一项

    我的问题可能不清楚 但这是我的问题 这是我使用 map 方法从数组中获取的卡片 并在每张卡片上显示每个项目 我已经触发了 编辑 按钮 以便它显示隐藏的文本 只想在一张卡片中看到它 但是 当我仅单击一张卡片时 所有卡片都会显示该隐藏消息 你能
  • CakePHP 2.x:Model::afterFind() 上的 $primary 标志实际上有用吗?

    CakePHP 的Model afterFind 回调看起来像 afterFind array results boolean primary false 根据文档 The primary参数指示当前模型是否是查询发起的模型 或者该模型是否
  • javascript数组映射方法中的Break语句[重复]

    这个问题在这里已经有答案了 可能的重复 如何像调用break一样短路Array forEach 有没有办法让我在满足条件后可以突破数组映射方法 我尝试了以下抛出 Illegal Break Statement Error 这是我随机想到的一
  • getSubscription 返回空订阅

    我是 Service Worker 和 GAE 的新手 我能够注册 Service Worker 但无法订阅 PushManager 出现订阅 null 错误 找到下面的代码以供参考 serviceWorkerRegistration pu
  • PHP 在 html 页面中显示 html 电子邮件

    我正在构建一个 PHP 电子邮件邮箱脚本 我如何使 html 电子邮件像 gmail hotmail 中那样清晰地显示 如果我只是回显它 它会影响整个页面布局 我可以使用 iframe 但这肯定不是最好的解决方案 如果您正在寻找 最佳解决方
  • 字符串太长时会被截断

    我试图从我们的服务器获取 JSON 响应 当字符串长度达到大约 5525 个字符时 响应字符串似乎总是被截断 HttpClient httpClient new DefaultHttpClient HttpPost post new Htt
  • 获取PDFBox中字符的字体高度

    PDFBox的字体类PDFont中有一个方法 名为getFontHeight 听起来很简单 但是我不太理解文档以及参数代表什么 getFontHeight这将获取字符的字体宽度 参数 c 要获取宽度的字符代码 offset 数组的偏移量 长
  • 在 Python 3 中迭代单个字节

    当迭代一个bytesPython 3 中的对象 获取个体bytes as ints gt gt gt b for b in b 123 49 50 51 如何获得 1 长度bytes对象代替 以下是可能的 但对读者来说不是很明显 并且很可能
  • 位图图像内存不足

    我知道有很多关于 android 位图图像内存不足的讨论 但我想知道是否有人可以向我解释一下 目前在我的应用程序中 我有一个列出图像缩略图 低质量 的活动 当我单击图像时 它会打开一个新活动来全屏查看图像 在我的第二次活动课中 我有 Bit
  • 关于在 Android studio 中重命名 Android 项目的建议(基于 Gradle)

    在我目前的项目中 我希望在 Android studio 0 8 9 中重命名 Android 项目并希望以后使用它 我知道论坛中讨论的两种解决方案 请有人确认最好的方法并且没有麻烦 此外 在 Android studio 0 8 9 上尝
  • 引用程序集中的条件编译

    我正在编写一个程序集 其中包含一些条件编译的成员 例如 Conditional DEBUG public static void Log string message 并像这样使用它 public void DoStuff Log This
  • 更新到 MacOS Big Sur 11.3 后 Android 设备管理器无法启动

    所以我的 Mac 刚刚强制更新到 Big Sur 11 3 我一直在尝试访问 Android 设备管理器来运行模拟设备 但每次都失败了 当我尝试从命令行运行它时 我收到以下错误消息 emulator Pixel 3a API 30 emul
  • 智能合约(Hyperledger vs Eth)[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 关于智能合约的几个简单问题 超级账本智能合约 链码 与以太坊相比如何 超级账本 golang 可表达性 表现 安全 以太坊 坚固性 表达能力 表现 安全 如何保障智能合约安全 保
  • 在 iphone sdk 中以编程方式创建 sqlite 数据库

    我正在尝试在运行时以编程方式创建一个 sqlite 数据库 谁能告诉我如何在 iphone sdk 中创建它 只要调用 sqlite3 open 函数 如果路径上不存在数据库 它就会创建一个数据库 generate databasePath
  • Firebase Auth 的本地(持久身份验证状态)是否安全且不受浏览器 XSS 和 CSRF 的影响?

    我正在将 Firebase Auth 用于涉及金融交易的 Web 应用程序 因此 安全性对于我的应用程序来说是最重要的 根据this doc Firebase 可以通过将其存储在某处来在多个会话中持久保留其令牌 它没有提到它对于 XSS 的