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 Web

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

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

iOS Android Web C++ Unity

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

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

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

Выполнить аутентификацию пользователей, отправляя SMS-сообщения на их телефоны.

iOS Android Web C++ Unity

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

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

iOS Android Web C++ Unity

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

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

iOS Android Web C++ Unity

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

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

Подробнее о том, как начать работу…