Аутентификация Firebase
Firebase Authentication предоставляет серверные службы, простые в использовании SDK и готовые библиотеки пользовательского интерфейса для аутентификации пользователей в вашем приложении. Он поддерживает аутентификацию с использованием паролей, телефонных номеров, популярных поставщиков федеративных удостоверений, таких как Google, Facebook и Twitter, и т. д.
Firebase Authentication тесно интегрируется с другими сервисами Firebase и использует отраслевые стандарты, такие как OAuth 2.0 и OpenID Connect, поэтому его можно легко интегрировать с вашим настраиваемым бэкендом.
Ключевые возможности
Вы можете входить пользователей в свое приложение Firebase либо с помощью FirebaseUI в качестве полноценного решения для аутентификации, либо с помощью Firebase Authentication SDK, чтобы вручную интегрировать один или несколько методов входа в ваше приложение.
Аутентификация FirebaseUI | |
---|---|
Встраиваемое решение для аутентификации | Рекомендуемый способ добавления полной системы входа в ваше приложение. FirebaseUI предоставляет встраиваемое решение для аутентификации, которое обрабатывает потоки пользовательского интерфейса для входа пользователей с адресами электронной почты и паролями, номерами телефонов и с популярными поставщиками федеративных удостоверений, включая вход через Google и Facebook. Компонент аутентификации FirebaseUI реализует передовые методы аутентификации на мобильных устройствах и веб-сайтах, что может максимизировать конверсию входа и регистрации для вашего приложения. Он также обрабатывает пограничные случаи, такие как восстановление учетной записи и связывание учетной записи, которые могут быть чувствительны к безопасности и подвержены ошибкам при правильной обработке. FirebaseUI можно легко настроить, чтобы он соответствовал остальному визуальному стилю вашего приложения, и он имеет открытый исходный код, поэтому вы не ограничены в реализации желаемого взаимодействия с пользователем. |
Аутентификация Firebase SDK | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Аутентификация на основе электронной почты и пароля | Аутентифицируйте пользователей с помощью их адресов электронной почты и паролей. SDK Firebase Authentication предоставляет методы для создания и управления пользователями, которые используют свои адреса электронной почты и пароли для входа в систему. Firebase Authentication также обрабатывает отправку электронных писем для сброса пароля. | ||||||||||
Интеграция с поставщиком федеративных удостоверений | Аутентифицируйте пользователей путем интеграции с федеративными поставщиками удостоверений. SDK Firebase Authentication предоставляет методы, которые позволяют пользователям входить в систему с помощью своих учетных записей Google, Facebook, Twitter и GitHub.
| ||||||||||
Аутентификация по номеру телефона | Аутентифицируйте пользователей, отправляя SMS-сообщения на их телефоны. | ||||||||||
Интеграция пользовательской системы аутентификации | Подключите существующую систему входа вашего приложения к Firebase Authentication SDK и получите доступ к базе данных Firebase Realtime и другим сервисам Firebase. | ||||||||||
Анонимная авторизация | Используйте функции, требующие проверки подлинности, не требуя от пользователей предварительного входа в систему путем создания временных анонимных учетных записей. Если пользователь позже решит зарегистрироваться, вы можете обновить анонимную учетную запись до обычной учетной записи, чтобы пользователь мог продолжить с того места, на котором он остановился. |
Как это работает?
Чтобы зарегистрировать пользователя в своем приложении, вы сначала получаете учетные данные для аутентификации от пользователя. Этими учетными данными могут быть адрес электронной почты и пароль пользователя или токен OAuth от поставщика федеративных удостоверений. Затем вы передаете эти учетные данные SDK Firebase Authentication. Затем наши серверные службы проверят эти учетные данные и вернут ответ клиенту.
После успешного входа вы можете получить доступ к основной информации профиля пользователя и контролировать доступ пользователя к данным, хранящимся в других продуктах Firebase. Вы также можете использовать предоставленный токен проверки подлинности для проверки личности пользователей в собственных внутренних службах.
Пути реализации
Использование аутентификации FirebaseUI | ||
---|---|---|
Настройте способы входа | Для входа по адресу электронной почты и паролю или номеру телефона, а также для любых федеративных поставщиков удостоверений, которых вы хотите поддерживать, включите их в консоли Firebase и выполните любую настройку, требуемую поставщиком удостоверений, например, настройте URL-адрес перенаправления OAuth. | |
Настройте пользовательский интерфейс входа | Вы можете настроить пользовательский интерфейс входа, задав параметры FirebaseUI, или разветвить код на GitHub, чтобы дополнительно настроить процесс входа. | |
Используйте FirebaseUI для выполнения процесса входа | Импортируйте библиотеку FirebaseUI, укажите методы входа, которые вы хотите поддерживать, и инициируйте процесс входа в FirebaseUI. |
Использование Firebase Authentication SDK | ||
---|---|---|
Настройте способы входа | Для входа по адресу электронной почты и паролю или номеру телефона, а также для любых федеративных поставщиков удостоверений, которых вы хотите поддерживать, включите их в консоли Firebase и выполните любую настройку, требуемую поставщиком удостоверений, например, настройте URL-адрес перенаправления OAuth. | |
Реализуйте потоки пользовательского интерфейса для ваших методов входа | Для входа по адресу электронной почты и паролю реализуйте поток, который предлагает пользователям вводить свои адреса электронной почты и пароли. Для входа по номеру телефона создайте поток, который запрашивает у пользователей номер телефона, а затем код из получаемого ими SMS-сообщения. Для федеративного входа реализуйте поток, требуемый каждым поставщиком. | |
Передайте учетные данные пользователя в Firebase Authentication SDK. | Передайте адрес электронной почты и пароль пользователя или токен OAuth, полученный от поставщика федеративных удостоверений, в SDK Firebase Authentication. |
Что дальше
Узнайте больше о пользователях в проекте Firebase, а затем ознакомьтесь с руководствами по интеграции для поставщиков услуг входа, которых вы хотите поддерживать:
Не уверен, с чего начать?