【发布时间】:2020-09-28 07:44:36
【问题描述】:
我已经设置了一个 Google Firestore 数据库,并且我想保护这些规则。 我的 ACTUAL 数据库中已有用户,但并不是每个人都有 Google 帐户,因此我想以任何其他方式对他们进行身份验证,以便验证他们是否可以访问数据库项目。
此时我可以使用如下代码:
this.firestore.collection('myCollection').doc('IDHERE').delete();
是否可以从我的后端生成一个特定于用户的密钥并将其保存到每个项目中,然后添加一条规则以查看该密钥是否已提交? 所以我想在上面的delete函数中添加一个特定的key,让Firebase在item中检查它。 我只能看到你可以检查一个 auth.user.id,但如果可能的话我想用另一种方式检查它!
提前致谢!
【问题讨论】:
-
授予某些用户一定的权限来读取(获取、列出操作)或写入(删除、更新、写入操作)您的数据库是可能的。 Firebase Authentication 和 Firebase security rules 的组合将是最佳解决方案。现在我了解到您可能想要使用自定义身份验证方法(使用“私钥”来验证用户身份)。您可以验证某个字段的数据。请参阅下面的链接。
标签: angular google-cloud-firestore google-cloud-functions angularfire2