【发布时间】:2021-02-12 01:41:43
【问题描述】:
我有一个管理站点,它有一个反应前端,使用 redux 操作,使用 node.js 应用程序作为服务器,它使用 firebase-admin 来完成工作。
我想使用 firestore 的 onsnapshot 监听器。但我不确定这在 HTTP 协议中是如何工作的?
我无法从我的前端应用程序中使用 firebase-admin,也无法从 HTTP 协议中的后端创建实时数据库功能。
目标:考虑到我使用我的 express api 为管理员提供了一个单独的身份验证系统,我可以从 rreact 前端为我的集合设置快照侦听器,而无需经过多个身份验证过程。
有解决办法吗?
编辑: 我的客户端应用程序当前使用 Firebase Web 应用程序配置数据进行了初始化,但是因为我使用我自己的 Express 服务器对管理员进行身份验证,所以 Firebase Web SDK 没有通过 Firebase 进行身份验证,所以我没有我需要的数据的权限。我不确定我是否需要一个服务帐户,或者一个带有额外设置的 Web 应用配置或什么
【问题讨论】:
-
你有什么理由不在浏览器上使用 firebase-js-sdk 吗?
-
是的,我需要管理员权限,因为它是一个管理站点@nvitius
-
您可以添加 Firestore 安全规则,以允许管理员用户访问您需要的所有数据。这样你就可以从客户端调用 onSnapshot
-
你能用参考来回答吗?我一直在尝试使用 firebase web sdk,但我的设置有一个与 firebase auth 分开的身份验证系统。所以当我使用 web sdk 时,我没有经过技术验证,因此正在处理权限问题。而且我不想在主firebase auth bc中创建管理员用户帐户,这看起来很hacky。我以为 admin sdk 只能在节点环境中使用? @nVitius
-
@nVitius 在尝试从 redux 操作中使用 admin sdk 时,除了错误之外什么也没得到。如果你可以在 react 环境中使用 admin sdk 为什么只有 node.js、python、java、go 和 .NET 以它们支持的语言列出?
标签: node.js reactjs firebase google-cloud-firestore firebase-admin