Firebase 安全性:只有对象中引用的用户才能阅读它

Firebase Security: Only users who are referenced in the object should read it

我的 Firebase 中有对象,我只想将访问权限限制在对象 中引用的 用户。我的 Firebase 结构如下所示:

  • 对象
    • object_info
    • 联系人
      • $contact_id
        • user_id
        • user_role
  • 用户
    • $user_id
      • user_info

object/contacts/$contact_id/user_id 对用户的引用/$user_id

所以每个应该有访问权限的用户在 contacts 的一个子项中显示为 user_id。不幸的是,我找不到一种方法来搜索 contacts 的所有子项以获得某个 user_id。 有没有办法设置这个 Firebase 安全规则,我应该更改我的整个数据库结构以保证它的安全?

您可以检查用户的节点是否存在:

{
  "Object": {
    ".read": "data.child('contacts').child(auth.uid).exists()"
  }
}