Разрешить другому пользователю читать / записывать данные в базу данных Firebase - PullRequest
1 голос
/ 01 апреля 2019

у меня дерево базы данных вот так

users
-UID
--items
---all the data

Я хотел бы добавить что-то под UID, например, shared: another-UID, и разрешить другому UID читать и записывать все под элементами.

Например:

users
-UID
--shared:different_UID
--items
---all the data

Мои нынешние правила такие

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
        ".write": "auth != null && auth.uid == $uid"
      }
    }
  }
}

Как бы я изменил свои правила, чтобы разрешить это?

1 Ответ

0 голосов
/ 02 апреля 2019

В этом случае ваши правила станут:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth != null && (auth.uid == $uid || data.child('shared').val() === auth.uid)",
        ".write": "auth != null && (auth.uid == $uid || data.child('shared').val() === auth.uid)"
      }
    }
  }
}

Итак, на словах: пользователь может читать / записывать эти данные, если ключ совпадает с его идентификатором пользователя или если его идентификатор пользователя хранится в свойстве shared данных.

...