在Firebase中设置身份验证规则

时间:2017-10-18 12:56:54

标签: angular firebase firebase-realtime-database firebase-security

为了简化理解,我将简化Firebase结构。

Users/uid/randonUidClub

Clubs/randonUid/users/uidUsers

我需要仅对经过身份验证的Clubs授予对Users的读写访问权限,并且他们的UID在users/uidUsers范围内。

有人可以帮我设定这条规则吗?

1 个答案:

答案 0 :(得分:2)

我认为你的意思是:

{
  "rules": {
    "clubs": {
      "$clubId": {
        ".read": "auth != null && data.child('users').hasChild(auth.uid)",
        ".write": "auth != null && data.child('users').hasChild(auth.uid)"
      }
    }
  }
}

使用此规则,如果您经过身份验证,并且/clubs/{clubId}

中存在当前用户UID,则您只能阅读俱乐部(/clubs/{clubId}/users

使用以下示例数据:

+ clubs
  + 1
    + users
      + 02a13901-f145-4ac6-870d-9f91e5eed7ed
        + id: "02a13901-f145-4ac6-870d-9f91e5eed7ed"