Как установить одного пользователя в качестве администратора в firebase? - PullRequest
0 голосов
/ 14 октября 2019

У меня есть база данных пользователей, в которой я хочу, чтобы каждый прошедший проверку пользователь считывал и обновлял свои собственные данные. Я также хочу установить одного администратора, который может читать и обновлять все данные пользователей в базе данных.

Я пытался делать так - Как разрешить только одному администратору писать базу данных Firebase?

Но это не совсем сработало.

Моя структура базы данных:

- Users
   -key1
     -email: xyz
   -key2
     -email: abc

Это то, что я пробовал. Здесь я добавил пользователя-администратора в firebase auth, и его идентификатор аутентификации - скажем - s94ZwBcP. Однако у меня нет ключа в базе данных для этого пользователя (так как он мне не нужен).

"rules": {
     "users":{
       "$uid":{
         ".read" : "$uid == auth.uid || auth.uid === 's94ZwBcP'", 
         ".write": "$uid == auth.uid || auth.uid === 's94ZwBcP'"
      }
     }

1 Ответ

0 голосов
/ 15 октября 2019

Я предполагаю, что вы пытаетесь читать с /users. Поскольку для /users не определено правило .read, никто не может прочитать этот узел.

Чтобы администратор мог получить (и изменить) список всех пользователей, измените ваши правила на:

"rules": {
  "users":{
    ".read" : "auth.uid === 's94ZwBcP'", 
    ".write": "auth.uid === 's94ZwBcP'",
    "$uid":{
      ".read" : "$uid == auth.uid", 
      ".write": "$uid == auth.uid"
    }
  }
}
...