Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Пользователи в проектах Firebase

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

Пользовательские экземпляры независимы от экземпляров Firebase Authentication, поэтому вы можете иметь несколько ссылок на разных пользователей в одном контексте и при этом вызывать любой из их методов.

Пользовательские свойства

Пользователи Firebase имеют фиксированный набор базовых свойств - уникальный идентификатор, основной адрес электронной почты, имя и URL-адрес фотографии - хранящиеся в пользовательской базе данных проекта, которые могут обновляться пользователем ( iOS , Android , Интернет ). Вы не можете добавлять другие свойства к объекту пользователя напрямую; вместо этого вы можете хранить дополнительные свойства в любых других сервисах хранения, таких как Google Cloud Firestore.

Когда пользователь впервые регистрируется в вашем приложении, данные профиля пользователя заполняются с использованием доступной информации:

  • Если пользователь зарегистрировался с помощью адреса электронной почты и пароля, заполняется только свойство основного адреса электронной почты.
  • Если пользователь зарегистрировался у федеративного поставщика удостоверений, такого как Google или Facebook, информация об учетной записи, предоставленная поставщиком, используется для заполнения профиля пользователя.
  • Если пользователь зарегистрировался в вашей пользовательской системе аутентификации, вы должны явно добавить нужную информацию в профиль пользователя.

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

Поставщики входа

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

Пользовательские экземпляры отслеживают каждого поставщика, связанного с пользователем. Это позволяет вам обновлять свойства пустого профиля, используя информацию, предоставленную провайдером. См. Управление пользователями ( iOS , Android , Интернет ).

Текущий пользователь

Когда пользователь регистрируется или входит в систему, он становится текущим пользователем экземпляра Auth. Экземпляр сохраняет состояние пользователя, поэтому при обновлении страницы (в браузере) или перезапуске приложения информация пользователя не теряется.

Когда пользователь выходит из системы, экземпляр Auth перестает хранить ссылку на пользовательский объект и больше не сохраняет его состояние; Там нет текущего пользователя. Однако пользовательский экземпляр продолжает оставаться полностью функциональным: если вы сохраните ссылку на него, вы все равно сможете получить доступ к данным пользователя и обновить их.

Жизненный цикл пользователя

Рекомендуемый способ отслеживания текущего состояния экземпляра Auth - использование слушателей (также называемых «наблюдателями» в JavaScript). Слушатель Auth получает уведомление каждый раз, когда с объектом Auth происходит что-то важное. См. Управление пользователями ( iOS , Android , Интернет ).

Слушатель Auth получает уведомление в следующих ситуациях:

  • Объект Auth завершает инициализацию, и пользователь уже вошел в систему из предыдущего сеанса или был перенаправлен из потока входа провайдера идентификации
  • Пользователь входит (текущий пользователь установлен)
  • Пользователь выходит из системы (текущий пользователь становится нулевым)
  • Токен доступа текущего пользователя обновлен. Этот случай может произойти в следующих условиях:
    • Срок действия токена истекает: это обычная ситуация. Токен обновления используется для получения нового действительного набора токенов.
    • Пользователь меняет свой пароль: Firebase выдает новый доступ и обновляет токены, а срок действия старых токенов истекает. Это автоматически истекает токен пользователя и / или выходит из системы пользователя на каждом устройстве, в целях безопасности.
    • Пользователь повторно аутентифицируется: некоторые действия требуют, чтобы учетные данные пользователя были недавно введены; К таким действиям относится удаление учетной записи, установка основного адреса электронной почты и изменение пароля. Вместо того, чтобы выходить из системы, а затем снова входить в нее, получите новые учетные данные от пользователя и передайте новые учетные данные методу повторной аутентификации объекта пользователя.

Аутентификаторы

Когда вы выполняете аутентификацию с помощью Firebase, вы можете столкнуться с тремя видами токенов аутентификации:

Firebase ID токены Создан Firebase, когда пользователь входит в приложение. Эти токены являются подписанными JWT, которые надежно идентифицируют пользователя в проекте Firebase. Эти токены содержат базовую информацию о профиле пользователя, включая строку идентификатора пользователя, которая является уникальной для проекта Firebase. Поскольку целостность идентификационных токенов можно проверить , вы можете отправить их на внутренний сервер для идентификации текущего пользователя, вошедшего в систему.
Токены провайдера идентификации Создано федеративными провайдерами идентификации, такими как Google и Facebook. Эти токены могут иметь разные форматы, но часто это токены доступа OAuth 2.0. Приложения используют эти токены для проверки того, что пользователи успешно прошли аутентификацию у поставщика удостоверений, а затем преобразуют их в учетные данные, используемые службами Firebase.
Пользовательские токены Firebase Создано вашей собственной системой авторизации, чтобы пользователи могли входить в приложение, используя вашу систему аутентификации. Пользовательские токены - это JWT, подписанные с использованием закрытого ключа учетной записи службы . Приложения используют эти токены так же, как они используют токены, возвращенные поставщиками федеративных удостоверений.