Блокировка доступа для записи с использованием определенного UID - PullRequest
0 голосов
/ 07 января 2019

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

Насколько я понимаю, ".write": "$uid === auth.uid" разрешает писать только авторизованным пользователям, а не только мне.

Я не был уверен на 100%, как это сделать, поэтому я в итоге настроил логин на GitHub (для 2FA).

Я взял UID из этого и добавил его в раздел администратора моей структуры, и у меня была проверка правил на это.

Я не уверен, что это на самом деле работает так, как я настроил здесь, так что я решил спросить сообщество.

{
  "rules": {
    ".write": "root.child('admins').child('uid').val() == auth.uid",
    "admins": {
      ".read": "false"
    },
    "users": {
      ".indexOn": ["id"],
      ".read": "root.child('admins').child('uid').val() == auth.uid"
    },
    "posts": {
      ".indexOn": ["location"],
      ".read": "true"
    }
  }
}

1 Ответ

0 голосов
/ 07 января 2019

Пользовательские заявки .

Firebase Admin SDK поддерживает определение пользовательских атрибутов для пользователя Счета. Это дает возможность реализовать различный доступ стратегии управления, включая контроль доступа на основе ролей, в Firebase Программы. Эти пользовательские атрибуты могут предоставлять пользователям разные уровни доступ (роли), которые применяются в правилах безопасности приложения.

{
  "rules": {
    "adminContent": {
      ".read": "auth.token.admin === true",
      ".write": "auth.token.admin === true",
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...