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 легко настроить в соответствии с визуальным стилем приложения. Кроме того, это решение с открытым исходным кодом, поэтому вы можете реализовать любой пользовательский интерфейс.

iOS Android Веб

Firebase Authentication SDK
Аутентификация на основе адреса электронной почты и пароля

Аутентифицировать пользователей с помощью адресов электронной почты и паролей. В SDK Firebase Authentication есть методы для создания пользователей, которые входят в систему с помощью адреса электронной почты и пароля, и управления ими. Firebase Authentication также отправляет письма для сброса пароля.

iOS Android Веб C++ Unity

Интеграция с федеративным поставщиком идентификационной информации

Аутентифицируйте пользователей, интегрировав сервис с поставщиками федеративных идентификационных данных. В Firebase Authentication SDK есть методы, которые позволяют пользователям входить в аккаунты Google, Facebook, Twitter и GitHub.

Войти с аккаунтом Google iOS Android Веб C++ Unity
Sign in with Apple (Войти через аккаунт Apple) iOS Android Веб C++ Unity
Facebook iOS Android Веб C++ Unity
Twitter iOS Android Веб C++ Unity
GitHub iOS Android Веб C++ Unity
Аутентификация по номеру телефона

Аутентифицируйте пользователей, отправляя SMS на их телефоны.

iOS Android Веб C++ Unity

Интеграция специальной системы аутентификации

Подключите существующую систему входа в приложение к SDK Firebase Authentication и получите доступ к Firebase Realtime Database и другим сервисам Firebase.

iOS Android Веб C++ Unity

Анонимная аутентификация

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

iOS Android Веб C++ Unity

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++ Администратор

Если вы не знаете, с чего начать,

Как начать работу