Как правильно сделать аутентификацию подписки и сохранить ее в базе данных? - PullRequest
1 голос
/ 22 января 2020

У меня есть три экрана:

  1. Регистрация
  2. Вход
  3. Домашняя страница

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

В настоящее время я использую базу данных реального времени из firebase для хранения данных и электронной почты. и пароль аутентифицируйся. но правила для базы данных реального времени таковы:

{
"rules": {
".read": true,
".write": true
  }
} 

но я хочу использовать это правило:

{
"rules": {
".read": "auth != null",
".write": "auth != null"
   }
}

скажите мне, как правильно сделать это?

1 Ответ

1 голос
/ 22 января 2020

Вы можете использовать эту ссылку Аутентификация с помощью Firebase с использованием учетных записей на основе пароля на Android

Лучший способ - это когда пользователь регистрируется. Вы делаете это с помощью приведенного выше кода. После первой успешной аутентификации.

Вы можете использовать FIrebaseUser.getUId для получения уникального идентификатора пользователя c и использовать его в качестве ключа пользователя в базе данных.

В вашей базе данныхRerence вы можете сохранять данные пользователя, например: следующее.

FirebaseDatabase.getInstance().getReference().child(FirebaseUser.getUID).setValue(USERDATA)

USERDATA здесь - это pojo, представляющее данные пользователя, например, имя, адрес, телефон и т. д. c

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

  1. имеет экран spla sh, который открывается, когда пользователь открывает мое приложение, и я проверяю, был ли пользователь уже аутентифицирован в более раннем процессе.

  2. Если firebaseAuth.getCurrentUser возвращает объект, я знаю, что пользователь зарегистрирован и уже вошел в систему, поэтому я перешлю его на домашнюю страницу.

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

  4. , если они не были зарегистрированы, они не смогут перейти на домашнюю страницу, поэтому вы перенаправляете их на Зарегистрируйте экран.

Надеюсь, что это поможет. Если вам не удастся с этим подходом. Не волнуйтесь, сообщество получило вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...