Как проверить, аутентифицирован ли текущий пользователь в Firebase (Android Java) - PullRequest
0 голосов
/ 19 апреля 2020

Я просто пробую Firebase в первый раз.

В моей базе данных Firebase Realtime я веду список UID запрещенных пользователей в дочернем элементе с именем blockedUsers. Мои правила безопасности следующие:

{
  "rules": {
    ".read": "!root.child('blockedUsers').hasChild(auth.uid)",
    ".write": "!root.child('blockedUsers').hasChild(auth.uid)"
  }
}

Пока все работает, если пользователь, который находится в blockedUsers, открывает приложение, он ничего не может прочитать. Но я хочу остановить их на MainActivity; то есть, если заблокированный пользователь откроет приложение, он будет немедленно перенаправлен на экран, сообщив, что он забанен. Дело в том, что я не могу получить blockedUsers, потому что я заблокирован. Как мне go сделать это?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Хорошо, если вы используете электронную почту для регистрации, лучшим способом может быть использование UID. Сохраните два дочерних узла в базе данных и просто сравните их с остальным кодом.

0 голосов
/ 19 апреля 2020

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

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

...