Firebase Authentication
Firebase Authentication предоставляет серверные сервисы, простые в использовании SDK и готовые библиотеки интерфейса для аутентификации пользователей в вашем приложении. Поддерживаются разные способы аутентификации, в том числе с помощью паролей, номеров телефонов и популярных поставщиков идентификационной информации, таких как Google, Facebook и Twitter.
Firebase Authentication тесно интегрирован с другими сервисами Firebase и использует отраслевые стандарты, такие как OAuth 2.0 и OpenID Connect, поэтому его можно легко интегрировать с вашим собственным бэкэндом.
При переходе на Firebase Authentication with Identity Platform вы получаете доступ к дополнительным функциям, таким как многофакторная аутентификация, блокировка, ведение журналов действий пользователей и аудита, поддержка SAML и OpenID Connect, многопользовательский режим и поддержка на уровне предприятия.
Основные функции
Вы можете реализовать вход в приложение Firebase, используя FirebaseUI как готовое решение для аутентификации или SDK Firebase Authentication, чтобы вручную интегрировать один или несколько способов входа в приложение.
| FirebaseUI Auth | |
|---|---|
| Готовое решение для аутентификации |
Рекомендуемый способ добавить в приложение полноценную систему входа. FirebaseUI – это готовое решение для аутентификации, которое обрабатывает интерфейс для входа пользователей с помощью адресов электронной почты и паролей, номеров телефонов и популярных поставщиков идентификационной информации, в том числе входа с аккаунтом Google и Facebook. Компонент FirebaseUI Auth реализует лучшие практики аутентификации на мобильных устройствах и сайтах, которые позволяют повысить коэффициент конверсии при входе и регистрации в приложении. Он также обрабатывает пограничные случаи, такие как восстановление доступа к аккаунту и связывание аккаунтов, которые могут быть небезопасными и подверженными ошибкам. FirebaseUI легко настроить в соответствии с визуальным стилем приложения. Кроме того, это решение с открытым исходным кодом, поэтому вы можете реализовать любой пользовательский интерфейс. |
| Firebase Authentication SDK | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Аутентификация на основе адреса электронной почты и пароля | Аутентифицировать пользователей с помощью адресов электронной почты и паролей. В SDK Firebase Authentication есть методы для создания пользователей, которые входят в систему с помощью адреса электронной почты и пароля, и управления ими. Firebase Authentication также отправляет письма для сброса пароля. |
||||||||||
| Интеграция с федеративным поставщиком идентификационной информации | Аутентифицируйте пользователей, интегрировав сервис с поставщиками федеративных идентификационных данных. В Firebase Authentication SDK есть методы, которые позволяют пользователям входить в аккаунты Google, Facebook, Twitter и GitHub.
|
||||||||||
| Аутентификация по номеру телефона | Аутентифицируйте пользователей, отправляя SMS на их телефоны. |
||||||||||
| Интеграция специальной системы аутентификации |
Подключите существующую систему входа в приложение к SDK Firebase Authentication и получите доступ к Firebase Realtime Database и другим сервисам Firebase. |
||||||||||
| Анонимная аутентификация | Используйте функции, требующие аутентификации, без необходимости входа в аккаунт, создавая временные анонимные аккаунты. Если пользователь решит зарегистрироваться позже, вы сможете преобразовать анонимный аккаунт в обычный, чтобы он мог продолжить с того места, на котором остановился. |
||||||||||
Firebase Authentication with Identity Platform
Firebase Authentication with Identity Platform – это необязательное обновление, которое добавляет в Firebase Authentication несколько новых функций.
Переход не требует переноса данных. Существующий код клиентского и административного SDK будет работать как и раньше, а вы получите доступ к таким функциям, как расширенное ведение журналов, поддержка корпоративного уровня и соглашения об уровне обслуживания. С помощью дополнительного кода вы сможете добавить многофакторную аутентификацию, функции блокировки и поддержку поставщиков SAML и OpenID Connect.
Firebase Authentication with Identity Platform имеет другую схему ценообразования по сравнению с базовым продуктом. После перехода на новую версию проекты с бесплатным тарифным планом (Spark) будут ограничены 3000 активных пользователей за день, а проекты с тарифным планом с оплатой по мере использования (Blaze) будут оплачиваться за использование сверх бесплатного уровня в 50 000 активных пользователей за месяц. Перед переходом на более высокий уровень убедитесь, что вы понимаете, как это повлияет на оплату.
Ниже вы найдете информацию о новых функциях, ценах и ограничениях.
Функции
| Многофакторная аутентификация |
Многофакторная аутентификация с помощью SMS защищает данные пользователей, добавляя в приложение второй уровень безопасности. Узнайте, как добавить многофакторную аутентификацию в приложения для iOS, Android и веб-приложения. |
| Функции блокировки |
Блокирующие функции позволяют выполнять собственный код, который изменяет результат регистрации или входа пользователя в ваше приложение. Узнайте, как расширить возможности Firebase Authentication с помощью функций блокировки. |
| Поставщики SAML и OpenID Connect |
Поддержка входа с использованием поставщиков SAML (только для веб-приложений) и OpenID Connect, которые не поддерживаются Firebase изначально. Узнайте, как добавить вход с помощью SAML в веб-приложения и вход с помощью OpenID Connect в приложения для Apple, Android и веб-приложения. |
| Журналы аудита и действий пользователей |
Отслеживать и регистрировать административный доступ и действия конечных пользователей. При переходе на платную версию проекта в Cloud Logging автоматически включаются журналы аудита действий администратора. Вы также можете включить ведение журнала действий пользователей на странице Настройки аутентификации в консоли Firebase. О том, как просматривать и анализировать журналы, читайте в документации по Cloud Logging. |
| Мультитенантность |
С помощью клиентов можно создавать несколько уникальных изолированных групп пользователей и конфигураций в рамках одного проекта. Подробнее о начале работы с многопользовательским режимом рассказывается в документации по Cloud Identity Platform. |
| Поддержка корпоративных клиентов и соглашение об уровне обслуживания |
Для проектов, переведенных на новую версию, действуют обязательства по времени безотказной работы для сервисов аутентификации в соответствии с соглашением об уровне обслуживания платформы идентификации. Кроме того, для таких проектов доступен переход на поддержку корпоративного уровня. |
| Автоматическая очистка анонимных пользователей |
Вы сможете включить автоматическое удаление анонимных аккаунтов, если они не используются более 30 дней. Анонимные аккаунты также больше не будут учитываться при расчете квот на оплату и использование. |
Лимит на использование
После перехода на расширенную версию Firebase Authentication with Identity Platform к использованию Firebase Authentication будут применяться новые лимиты.
Бесплатно (Spark)
Для проектов с бесплатным тарифным планом (Spark) установлен новый лимит – 3000 активных пользователей в день (DAU) для большинства поставщиков учетных данных. Ежедневное активное использование рассчитывается на основе количества уникальных пользователей, которые вошли в аккаунт в течение 24 часов.
| Поставщики | Новый лимит | Старое ограничение |
|---|---|---|
| Электронная почта, социальные сети, анонимно, другой способ | 3000 DAU | Неограниченное |
| SAML, OpenID Connect | 2 DAU | Н/Д |
Оплата по мере использования (Blaze)
Стоимость проектов с тарифным планом Blaze зависит от количества активных пользователей за месяц (MAU). При этом первые 50 000 пользователей не оплачиваются. Активный пользователь – это любой пользователь, который использует свой аккаунт в течение расчетного периода.
| Поставщики | Бесплатный уровень | Стоимость (в долларах США) за активного пользователя в месяц сверх бесплатного уровня |
|---|---|---|
| Электронная почта, социальные сети, анонимно, другой способ | 0–49 999 активных пользователей в месяц | 0,0025–0,0055 долл. США за активного пользователя в месяц |
| SAML, OpenID Connect | 0–49 активных пользователей в месяц | 0,015 долл.США за активного пользователя в месяц |
Изменение проекта
Чтобы обновить проект до версии Firebase Authentication with Identity Platform, откройте страницу Настройки аутентификации в консоли Firebase.
Принципы работы

Чтобы пользователь мог войти в ваше приложение, сначала нужно получить его учетные данные. Это могут быть адрес электронной почты и пароль пользователя или токен OAuth от поставщика федеративной идентификации. Затем вы передаете эти учетные данные в SDK Firebase Authentication. Затем наши серверные сервисы проверят эти учетные данные и отправят ответ клиенту.
После успешного входа вы можете получить доступ к основной информации профиля пользователя и управлять его доступом к данным, хранящимся в других продуктах Firebase. Вы также можете использовать предоставленный токен аутентификации, чтобы подтверждать личность пользователей в собственных серверных сервисах.
Пути реализации
| Использование аутентификации FirebaseUI | ||
|---|---|---|
| Как настроить способы входа | Чтобы разрешить вход с помощью адреса электронной почты и пароля или номера телефона, а также любых федеративных поставщиков идентификационной информации, которых вы хотите поддерживать, включите их в консоли Firebase и выполните все настройки, необходимые поставщиком идентификационной информации, например задайте URL переадресации OAuth. | |
| Как настроить интерфейс входа | Вы можете настроить интерфейс входа, задав FirebaseUI параметры, или создать ответвление кода на GitHub, чтобы изменить интерфейс входа более детально. | |
| Как использовать FirebaseUI для входа в аккаунт | Импортируйте библиотеку FirebaseUI, укажите способы входа, которые вы хотите поддерживать, и запустите процесс входа FirebaseUI. | |
| Как использовать SDK Firebase Authentication | ||
|---|---|---|
| Как настроить способы входа | Чтобы разрешить вход с помощью адреса электронной почты и пароля или номера телефона, а также любых федеративных поставщиков идентификационной информации, которых вы хотите поддерживать, включите их в консоли Firebase и выполните все настройки, необходимые поставщиком идентификационной информации, например задайте URL переадресации OAuth. | |
| Как реализовать интерфейс для способов входа | Если вы хотите, чтобы пользователи входили в аккаунт с помощью адреса электронной почты и пароля, реализуйте процесс, в котором им будет предложено ввести эти данные. Если вы хотите, чтобы пользователи входили в аккаунт с помощью номера телефона, создайте процесс, в котором они сначала вводят номер, а затем код из полученного SMS. Для федеративного входа реализуйте рабочий процесс, требуемый каждым поставщиком. | |
| Передайте учетные данные пользователя в SDK Firebase Authentication | Передайте в Firebase AuthenticationSDK адрес электронной почты и пароль пользователя или токен OAuth, полученный от поставщика федеративных идентификационных данных. | |
Дальнейшие действия
Подробнее о пользователях в проекте Firebase… Затем ознакомьтесь с руководствами по началу работы для платформы и поставщиков учетных данных, которые вы хотите поддерживать:
iOS+ Android Веб Flutter Unity C++ Администратор
Если вы не знаете, с чего начать,