firebase - 使用 Google gmail 身份验证的 React-Native App 访问 Firestore
问题描述
我已经阅读了 Firebase 文档、大量文章和 stackoverflow 帖子,但没有找到任何关于使用基于 Firebase Gmail 的身份验证来访问 Firebase firestore 集合的内容。大多数文章的 Firestore 都处于开放访问的测试模式,或者他们使用 Firebase 的电子邮件/密码身份验证和 firestore 中的集合。Firebase 的电子邮件/密码身份验证与电子邮件/密码显示以下规则。
allow read, write: if request.auth.uid = !null.
这不起作用,因为在从 firestore 请求数据时,我无法传递 uid(Gmail 没有)。
理想情况下,我想使用从 Firebase Gmail 身份验证返回的 JWT 并将其发送到 Firestore 请求。同样,我找不到使用令牌的 Firebase firestore 的单个示例。
如果有文章、文档或只是经验,请告诉我。
提前致谢
解决方案
无法手动“发送”带有查询的 JWT。在您的应用中使用 Firebase 客户端 SDK 时,如果您还使用 Firebase 身份验证对用户进行身份验证,身份验证令牌只能与查询一起自动发送。如果您不使用 Firebase 身份验证,则不会有标识用户的令牌,这意味着您根本无法request.auth
在安全规则中使用。
Firebase 身份验证确实支持 Google 作为身份验证提供程序,因此如果您想编写有效的安全规则,您应该能够在您的应用中同时使用这两者。
推荐阅读
- python - DataFrame GroupBy 到 VolumeBars
- r - 埃拉托色尼筛的这个 R 函数是如何工作的?
- c++ - 复制构造函数 C++ 没有正确复制指针
- android - 如何延迟第二个片段,直到第一个在 ViewPager 中加载数据?
- css - css-grid:具有不同行数的列
- java - Eclipse 无法以 .metadata/.log 中的错误(“未处理的事件循环异常”等)启动
- flutter - 错误:依赖于未知来源的dependency_overrides,版本解决失败
- php - Codeigniter-4 重定向和 ajax 问题
- discord.js - 当我使用 discordjs-commando setProvider() 时,sqlite 出错
- sql - 如果一列中的值存在于另一列中,则过滤行