在 Firebase 中设置身份验证规则

Set authentication rule in Firebase

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

Users/uid/randonUidClub

Clubs/randonUid/users/uidUsers

我只需要为经过身份验证的 Users 授予对 Clubs 的读写访问权限,并且他们的 UID 在 users/uidUsers.

谁能帮我设置这个规则?

我想你是这个意思:

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

使用此规则,如果您已通过身份验证且当前用户 UID 存在于 /clubs/{clubId}/users

中,则您只能阅读俱乐部 (/clubs/{clubId})

适用于以下示例数据:

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