Какой uid лучше всего использовать для идентификаторов пользовательских документов Firebase Firestore? - PullRequest
1 голос
/ 06 марта 2020

У меня есть проект firebase, для которого я создал базу данных firebase firestore. Я использую firebase auth для входа пользователей. Я хочу, чтобы все документы со ссылкой на указанного пользователя c имели идентификатор, равный идентификатору пользователя uid. Сначала я устанавливаю идентификатор документа в FirebaseAuth.FirebaseUser.uid. Проблема в том, что FirebaseUser.uid может меняться при определенных обстоятельствах (например, пользователь меняет пароль своей учетной записи Google). Существует ли постоянный идентификатор пользователя, который я могу использовать для ссылки указанному c пользователю независимо от поставщика аутентификации? Если нет, то что было бы лучше?

1 Ответ

2 голосов
/ 06 марта 2020

Обычно для данного пользователя в Firebase Auth уникальный идентификатор пользователя (uid, сгенерированный службой Auth) никогда не изменится.

Например, с помощью Admin SDK вы можете изменить адрес электронной почты пользователя без изменения его uid, см. do c.

Вы также можете иметь несколько провайдеров идентификации для одной учетной записи с одинаковым uid, см. здесь :

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

Примечание. что изменение пароля учетной записи провайдера идентификации (например, «изменение пароля учетной записи Google», как вы упомянули) никак не влияет на uid или на другие элементы учетной записи пользователя (фактически пароль провайдера идентификации не хранится в Firebase Auth).


Итак, в заключение, использование uid, сгенерированного службой аутентификации , является лучшим решением для ваших требований .

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