Firebase 实时数据库高级安全规则

时间:2021-05-11 14:30:35

标签: react-native firebase-realtime-database google-cloud-firestore firebase-security

现在我正在做一个项目,我需要更深入地研究 Firebase 安全规则,但我不是这个主题的最大专家,我也没有找到解决我需要的在线内容的解决方案。< /p>

我在实时数据库中有一个用户系统,其结构如下:

用户 -> 用户名 -> myProfile / 朋友 / 等等...

在 Cloud Firestore 中,我存储了用户名,这样如果有人登录,他就可以从 Cloud Firestore 中的文档中获取他的用户名,并在实时数据库中使用他的用户名标题阅读文档(我希望这是有道理的) .

现在我想编写安全规则,允许用户只读取他自己的文档(没有他的 uid 的标题,而是他的用户名)... 此外,我希望允许其他用户读取用户 -> 用户名 -> myProfile 中的数据,但前提是请求用户的用户名包含在用户 -> 用户名 -> 被请求人的朋友中。

举例说明:

A 登录他的帐户,他从 Cloud Firestore 获取他的用户名,并希望访问以他的用户名命名的实时数据库中的文档。 然后他想读取RD中B的数据,但只有他的用户名保存在B的profile中friends数组中的数组中,才允许他这样做。 每个人都必须能够读取每个人的朋友数组,但只能读取 myProfile 数据,如果他的用户名包含在另一个人的朋友数组中。

Database structure

我会非常感谢任何帮助!如果有什么不清楚的就问吧!

米查

0 个答案:

没有答案