Firebase: я должен хранить пользовательские данные в профиле аутентификации или базе данных - PullRequest
0 голосов
/ 29 июня 2019

Я зарегистрировал пользователя в своем приложении Flutter, используя FirebaseAuth.instance.verifyPhoneNumber().Это работает отлично, и пользователь появляется в моей консоли Firebase.

FirebaseAuth.instance.currentUser() теперь возвращает пользователя для меня всякий раз, когда я открываю приложение. Должен ли я хранить здесь информацию о пользователе (возраст, вес и т. Д.) Или создать коллекцию users в моем Database и связать там currentUser().uid?

ТакжеДолжен ли я хранить его в базе данных, связанной с uid, или связанной с информацией для входа.Например, ссылка user на phoneNumber, а не uid.Потому что если вы когда-либо удаляете пользователя, но он хочет зарегистрироваться снова, он получит новый uid, но его phoneNumber / email останется прежним и, следовательно, сможет ссылаться на свои старые данные.

1 Ответ

1 голос
/ 29 июня 2019

Вы не можете добавить произвольные данные в профиль пользователя Firebase Authentication. Поэтому вам следует хранить дополнительные данные в базе данных и связывать их с UID пользователя, чтобы вы могли легко их найти. Это также позволяет упростить поиск пользователей, поскольку клиентские SDK Firebase Authentication не имеют функции для поиска данных любого пользователя, кроме текущего, подписанного в одном из них.


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

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