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 можно легко настроить в соответствии с визуальным стилем вашего приложения. Это ПО с открытым исходным кодом, поэтому вы можете реализовать любые идеи. |
| SDK в категории "Firebase Authentication" | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Аутентификация на основе адреса электронной почты и пароля | Аутентифицировать пользователей с помощью адресов электронной почты и паролей. В SDK Firebase Authentication есть методы для создания пользователей, которые входят в систему с помощью адреса электронной почты и пароля, и управления ими. Firebase Authentication также отправляет письма для сброса пароля. |
||||||||||
| Интеграция с федеративным поставщиком идентификационной информации | Аутентификация пользователей путем интеграции с федеративными поставщиками идентификационной информации. SDK Firebase Authentication предоставляет методы, позволяющие пользователям входить в систему с помощью аккаунтов 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 и Admin 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. Вы также можете включить ведение журнала действий пользователей на странице Authentication Settings (Настройки аутентификации) в консоли Firebase. О том, как просматривать и анализировать журналы, читайте в документации по Cloud Logging. |
| Мультитенантность |
С помощью клиентов можно создавать несколько уникальных изолированных групп пользователей и конфигураций в рамках одного проекта. Подробную информацию вы найдете в статье Начало работы с мультиарендностью в документации по платформе Cloud Identity. |
| Поддержка корпоративного уровня и соглашение об уровне обслуживания |
Для обновленных проектов действуют обязательства по времени работы сервисов Auth в соответствии с соглашением об уровне обслуживания 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, откройте страницу Authentication Settings (Настройки аутентификации) в консоли Firebase.
Принципы работы

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