如何使Firebase Functions充当用户而不是管理员?

Jeu*_* Oh 5 node.js firebase google-cloud-functions firebase-admin google-cloud-firestore

我的客户端应用程序正在通过Firebase Functions创建的API访问Firestore。但是,Firebase Functions导入firebase-admin会绕过所有定义的安全规则。有什么方法可以使我的HTTP触发Function充当特定用户(例如,通过将访问令牌从客户端传递到服务器),从而使Function也可以在Firebase Functions的影响下工作。

Dou*_*son 4

目前还没有办法做到这一点。Firestore SDK for Node 无法将其对数据库的访问范围限定为特定的经过身份验证的用户。

请注意,这与实时数据库 SDK 不同,后者允许您将范围限定为 uid

  • 我向 Firebase 提交了一个功能请求,以允许管理 sdk 从客户端获取可选的 firebase 身份验证令牌,并像该用户一样发出 firestore 请求,因此安全规则生效。我的用例是我想运行Cloud Run 中的 GraphQL 层位于 firestore 和登录的 Web 应用客户端之间 (3认同)