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