在不使用 Firebase 身份验证的情况下设置 Firestore 安全规则

Posted

技术标签:

【中文标题】在不使用 Firebase 身份验证的情况下设置 Firestore 安全规则【英文标题】:Setting firestore security rules without using Firebase Authentication 【发布时间】:2019-06-02 15:33:40 【问题描述】:

我有一个 Angular Web 应用程序,但我没有使用 Firebase 身份验证来登录我的用户,因为它是通过服务完成的。

现在,我的 Firestore 帐户拥有完全访问权限,任何人都可以执行任何操作。

我阅读了安全规则的文档,并且在其中提到了 Firebase 身份验证。有没有办法在不使用 firebase auth 的情况下定义规则?

【问题讨论】:

【参考方案1】:

您当然可以在没有 Firebase 身份验证的情况下使用安全规则,但您将无法编写任何依赖于识别个人用户的规则。更具体地说,您根本无法有效地使用 auth 变量,因为它只填充了来自 Firebase Auth 的数据。

没有身份验证信息,您所能做的就是检查要创建或修改的文档的内容。您将无法定义安全的每用户规则。

【讨论】:

感谢您的回复!你能举一个这样的规则的例子吗? 查看文档:firebase.google.com/docs/firestore/security/… 我也被限制使用其他身份验证服务。有什么方法可以代替检查身份验证、其他文档或将 UID 与请求一起传递以确保它与文档中的 UID 匹配?确实需要与我客户的现有设置集成。 @WesleyBarnes No.

以上是关于在不使用 Firebase 身份验证的情况下设置 Firestore 安全规则的主要内容,如果未能解决你的问题,请参考以下文章

在不使用 Firebase 的情况下使用电子邮件和密码进行 Flutter 身份验证

如何在不关闭当前 Firebase 会话的情况下创建用户身份验证 [重复]

如何在没有身份验证的情况下添加 Firebase 数据库规则?

如何在视图模型中实现 Firebase 电话身份验证?

验证没有 Firebase 身份验证的电子邮件 - Kotlin [重复]

如何在不使用验证码验证器的情况下实现 Firebase 电话验证系统?