Как разрешить только конкретному пользователю создавать новых пользователей в Firebase? - PullRequest
0 голосов
/ 18 сентября 2018

В базе данных реального времени Firebase существует множество публикаций и дискуссий об ограничении доступа для чтения / записи для определенных пользователей.Однако я не могу найти способ ограничить создание новых пользователей только конкретным пользователем / администратором.

Мое приложение состоит из менеджера и сотрудников.Только менеджер должен иметь возможность добавлять новых пользователей (сотрудников) в базу данных, а также иметь доступ к определенным данным, к которым сотрудники не могут получить доступ.Насколько я понимаю, API, предоставляемый Firebase, означает, что любой клиент может создавать новых пользователей.
Может кто-нибудь подсказать мне, как мне этого добиться?

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете сделать следующее:

Во-первых, создать узел admins в вашей базе данных, к которому вы добавляете пользователей / администраторов / администраторов с их userId, следующим образом:

- admins
    - Br8kiG5....
- users
    -  Abcd88676....
      - ....
    -  JHgU76hgh....
      - ....

Во-вторых, настройте некоторые правила безопасности следующим образом:

{
  "rules": {

      "users": {
            ".write": "auth != null && root.child('admins').hasChild(auth.uid)",
            ".read": .....
            ".indexOn": .....
      },

       .....

  }
}

В-третьих, внедрите проверку подлинности Firebase в своем приложении, и только пользователи, перечисленные в узле базы данных admins, будутвозможность записи под узлом users.

...