Аутентификация Firebase

Большинству приложений необходимо знать личность пользователя. Знание личности пользователя позволяет приложению безопасно сохранять пользовательские данные в облаке и обеспечивать одинаковый персонализированный опыт на всех устройствах пользователя.

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

Аутентификация Firebase тесно интегрируется с другими службами Firebase и использует отраслевые стандарты, такие как OAuth 2.0 и OpenID Connect, поэтому ее можно легко интегрировать с вашим пользовательским бэкэндом.

При обновлении до Firebase Authentication с Identity Platform вы разблокируете дополнительные функции, такие как многофакторная аутентификация, функции блокировки, ведение журнала активности пользователей и аудита, поддержка SAML и универсального OpenID Connect, мультитенантность и поддержка на уровне предприятия.

Узнайте, как начать

Ключевые возможности

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

Аутентификация FirebaseUI
Решение для прямой аутентификации

Рекомендуемый способ добавить в приложение полноценную систему входа.

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

Компонент FirebaseUI Auth реализует лучшие практики аутентификации на мобильных устройствах и веб-сайтах, что может максимизировать конверсию при входе и регистрации для вашего приложения. Он также обрабатывает крайние случаи, такие как восстановление учетной записи и привязка учетной записи, которые могут быть чувствительными к безопасности и подвержены ошибкам при правильной обработке.

FirebaseUI можно легко настроить в соответствии с остальным визуальным стилем вашего приложения. Он имеет открытый исходный код, поэтому вы не ограничены в реализации желаемого пользовательского опыта.

iOS Android Интернет

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

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

iOS Android Веб C++ Unity

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

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

Google iOS Android Веб C++ Unity
Войти через Apple iOS Android Веб C++ Unity
Фейсбук iOS Android Веб C++ Unity
Твиттер iOS Android Веб C++ Unity
GitHub iOS Android Веб C++ Unity
Аутентификация по номеру телефона

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

iOS Android Веб C++ Unity

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

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

iOS Android Веб C++ Unity

Анонимная авторизация

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

iOS Android Веб C++ Unity

Аутентификация Firebase с платформой идентификации

Аутентификация Firebase с платформой идентификации — это дополнительное обновление, которое добавляет несколько новых функций к аутентификации Firebase.

Это обновление не требует миграции — ваш существующий клиентский SDK и код административного SDK продолжат работать, как и раньше, и вы получите немедленный доступ к таким функциям, как расширенное ведение журналов, поддержка корпоративного уровня и соглашения об уровне обслуживания. С помощью дополнительного кода вы сможете добавить многофакторную аутентификацию, функции блокировки и поддержку поставщиков SAML и OpenID Connect.

Аутентификация Firebase с Identity Platform имеет другую схему ценообразования по сравнению с базовым продуктом. При обновлении проекты бесплатного плана (Spark) будут ограничены 3000 активными пользователями в день, а в проектах плана с оплатой по мере использования (Blaze) будет взиматься плата за использование, превышающее уровень бесплатного пользования в 50 000 активных пользователей в месяц. Прежде чем переходить на новую версию, убедитесь, что вы понимаете последствия выставления счетов.

Подробнее о новых функциях, ценах и ограничениях читайте ниже.

Функции

Многофакторная аутентификация

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

Узнайте, как добавить MFA в свои приложения Apple , Android и веб- приложения.

Функции блокировки

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

Узнайте, как расширить аутентификацию Firebase с помощью функций блокировки .

Поставщики SAML и OpenID Connect

Поддержка входа в систему с использованием поставщиков SAML (только через Интернет) и OpenID Connect, которые изначально не поддерживаются Firebase.

Узнайте, как добавить вход SAML в веб-приложения и вход OpenID Connect в Apple , Android и веб- приложения.

Действия пользователей и ведение журнала аудита

Отслеживайте и регистрируйте административный доступ и активность конечных пользователей.

При обновлении проекта вы автоматически включаете журналы аудита активности администратора в Cloud Logging. Вы также можете включить ведение журнала активности пользователей на странице настроек аутентификации консоли Firebase.

Чтобы узнать, как просматривать и анализировать журналы, см. документацию Cloud Logging .

Предотвращение злоупотреблений с помощью App Check

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

Чтобы узнать, как включить проверку приложений, см. документацию по проверке приложений .

Мульти аренды

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

См. раздел Начало работы с мультитенантностью в документации Cloud Identity Platform.

Корпоративная поддержка и SLA

Обновленные проекты получают гарантии бесперебойной работы служб аутентификации в соответствии с Соглашением об уровне обслуживания Identity Platform (SLA) и доступ к поддержке корпоративного уровня.

Автоматическая очистка анонимных пользователей

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

Ограничения использования

После обновления Firebase Authentication с Identity Platform вводит новые ограничения на использование Firebase Authentication.

Бесплатно (Искра)

Для проектов с бесплатным планом (Spark) установлено новое ограничение в 3000 активных пользователей в день (DAU) для большинства поставщиков услуг входа. Ежедневное активное использование рассчитывается на основе количества уникальных пользователей, вошедших в систему в течение 24 часов.

Провайдеры Новый лимит Старый лимит
Электронная почта, Социальные сети, Анонимно, Пользовательский 3000 ежедневных активных пользователей Безлимитный
SAML, OpenID Connect 2 дня в день Н/Д

Плати по мере использования (Blaze)

Цены на проекты в плане Blaze основаны на ежемесячно активных пользователях (MAU) и включают бесплатный уровень в 50 000 пользователей. Активный пользователь — это любой, кто использует свою учетную запись в течение расчетного периода.

Провайдеры Бесплатный уровень Стоимость ($) за MAU выше бесплатного уровня
Электронная почта, Социальные сети, Анонимно, Пользовательский 0–49 999 MAU от 0,0025 до 0,0055 за MAU
SAML, OpenID Connect 0–49 ЕМА 0,015 за MAU

Обновите свой проект

Чтобы обновить проект до аутентификации Firebase с помощью Identity Platform, откройте страницу настроек аутентификации консоли Firebase.

Как это работает?

Ссылки полезны для платформы

Чтобы зарегистрировать пользователя в вашем приложении, вы сначала получаете от него учетные данные для аутентификации. Этими учетными данными могут быть адрес электронной почты и пароль пользователя или токен OAuth от федеративного поставщика удостоверений. Затем вы передаете эти учетные данные в Firebase Authentication SDK. Наши серверные службы затем проверят эти учетные данные и вернут ответ клиенту.

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

Пути реализации

Использование аутентификации FirebaseUI
Настройка способов входа Для входа в систему по адресу электронной почты и паролю или номеру телефона, а также для любых федеративных поставщиков удостоверений, которые вы хотите поддерживать, включите их в консоли Firebase и выполните любую настройку, требуемую поставщиком удостоверений, например настройку URL-адреса перенаправления OAuth.
Настройте интерфейс входа в систему Вы можете настроить пользовательский интерфейс входа, задав параметры FirebaseUI, или разветвить код на GitHub, чтобы дополнительно настроить процесс входа.
Используйте FirebaseUI для выполнения процесса входа в систему. Импортируйте библиотеку FirebaseUI, укажите методы входа, которые вы хотите поддерживать, и инициируйте процесс входа в FirebaseUI.
Использование SDK аутентификации Firebase
Настройка способов входа Для входа в систему по адресу электронной почты и паролю или номеру телефона, а также для любых федеративных поставщиков удостоверений, которые вы хотите поддерживать, включите их в консоли Firebase и выполните любую настройку, требуемую поставщиком удостоверений, например настройку URL-адреса перенаправления OAuth.
Реализуйте потоки пользовательского интерфейса для своих методов входа. Для входа в систему с адресом электронной почты и паролем реализуйте поток, который предлагает пользователям ввести свои адреса электронной почты и пароли. Для входа по номеру телефона создайте поток, который запрашивает у пользователей номер телефона, а затем код из полученного ими SMS-сообщения. Для федеративного входа реализуйте поток, требуемый каждым поставщиком.
Передайте учетные данные пользователя в Firebase Authentication SDK. Передайте адрес электронной почты и пароль пользователя или токен OAuth, полученный от федеративного поставщика удостоверений, в Firebase Authentication SDK.

Что дальше

Узнайте больше о пользователях в проекте Firebase, а затем ознакомьтесь с руководствами по интеграции для поставщиков услуг входа, которых вы хотите поддерживать:

iOS Android Веб C++ Unity Администратор

Не уверен, с чего начать?

Узнайте, как начать