Использование getUID или getEmail для того, чтобы сохранить пользователей в firebase - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь выяснить, как правильно держать пользователей в базе данных. Каждый пользователь в моем приложении должен использовать электронную почту. Я видел, как люди используют:

new_user.put("email", email);
FirebaseUser user = mAuth.getCurrentUser();
if (user != null && user.getEmail() != null) {
    fireDB.collection("users").document(user.getEmail()).set(new_user);
}

С другой стороны, я видел, как люди используют:

fireDB.collection("users").document(user.getUID()).set(new_user);

Что лучше? getUID() или getEmail()? Почему?

1 Ответ

1 голос
/ 18 апреля 2020

Не используйте электронную почту. Используйте UID. Он никогда не изменится, он правильно учитывает регистр, он не содержит никакой информации (поэтому его можно делиться с другими пользователями) и всегда будет действительным ключом для вызовов API Firebase.

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

Если причины этого недостаточно, весь предоставленный пример кода в документации использует UID в качестве индекса. Это золотой стандарт для использования с правилами безопасности и рекомендуется в документации:

И я обсуждаю это в своих блогах:

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