Где firebase сохранить его простым пользователям входа?

В настоящее время я использую firebase для создания ionic app. Я использую firebase simple login для social auth (facebook, twitter, email & password). Auth работает отлично, $broadcasts authed user. Однако он не создает пользователя в фактическом firebase db. Мне было интересно, как я могу получить пользователей, которые были authed, используя мой app. Спасибо, вы очень помогаете:).

Ответ 1

Для большинства протоколов аутентификации, которые он поддерживает, Firebase не сохраняет данные пользователя нигде. Даже для протоколов, в которых он хранит данные (я знаю только об электронной почте + пароль), он сохраняет эту информацию в месте, недоступном для вашего приложения (хотя вы можете найти этих пользователей в панели мониторинга вашей Firebase).

Процитировать Документацию Firebase:

Он не сохраняет состояние профиля или пользователя в вашей Firebase. Чтобы сохранить пользовательские данные, вы должны сохранить их в своей Firebase.

Что большинство приложений в конечном итоге делает, ведет список пользователей внутри своей Firebase, что они сами управляют. Поэтому, когда пользователь сначала выполняет аутентификацию с помощью приложения, он создает node под /users/<uid>, который содержит информацию для этого пользователя.

Смотрите раздел Документация Firebase, описывающая сохранение пользовательских данных.

Ответ 2

Firebase не сохраняет состояние профиля или пользователя в вашем экземпляре Firebase. Чтобы сохранить пользовательские данные, вы должны сохранить их в своей Firebase.

Firebase предоставляет несколько служб аутентификации

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

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

  • Использование пользовательской аутентификации для реализации существующей аутентификации на стороне сервера, системы единого входа, унаследованных систем или сторонних служб OAuth (таких как Yahoo).

После проверки подлинности Firebase возвращает переменную auth в ваше приложение, которое вы можете использовать для авторизации и контроля доступа. Эта переменная имеет значение null для пользователей, не прошедших проверку подлинности, но для аутентифицированных пользователей это объект, содержащий уникальный пользователь (auth.uid) и потенциально другие данные о пользователе.

Если вы хотите сохранить дополнительную информацию пользователя, такую ​​как имя и местоположение, то вам нужно использовать auth.uid и сохранить его в своем Firebase с дополнительными данными профиля.

Внутренне Firebase генерирует JSON Web Tokens (JWT) и создает аутентифицированные сеансы, вызывая Firebase.loginWithCustomToken() с этими токенами. Каждому пользователю присваивается uid (уникальный идентификатор), который гарантированно отличается от всех поставщиков и никогда не изменяется для определенного пользователя, прошедшего проверку подлинности.