Catch up on highlights from Firebase at Google I/O 2023. Learn more

С чего начать аутентификацию Firebase?

У меня уже есть система аутентификации

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

  • Индивидуальные решения, такие как пользовательские системы на основе паролей.
  • Сторонние службы управления идентификацией, такие как Auth0 или Okta.
  • Существующие интеграции с поставщиками федеративных удостоверений, такими как Google, Facebook или Apple. (И если вы еще не поддерживаете федеративное удостоверение, но хотите, см. следующий раздел.)

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

См. документацию для iOS+ , Android , Web , Flutter , Unity или C++ .

Я хочу создать свою систему аутентификации с помощью Firebase

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

Мне нужно быстрое решение, которым легко пользоваться

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

Поскольку FirebaseUI Auth — это встраиваемое решение, у него есть особый UX, который может не соответствовать вашим потребностям. Если вы хотите изменить UX, вы можете разветвить библиотеку с открытым исходным кодом и использовать свою собственную версию. Однако для существенно отличающихся процессов входа вы можете предпочесть реализовать собственные потоки с помощью Firebase SDK, как описано в следующем разделе.

См. документацию FirebaseUI Auth для iOS , Android или Интернета .

Я хочу получить полный контроль над входом в систему

Чтобы лучше контролировать процесс входа в приложение, вы можете реализовать собственные потоки аутентификации и использовать Firebase SDK для работы со службами аутентификации Firebase. Например, создайте свой собственный поток адресов электронной почты и паролей или процесс входа в Google и передайте адрес электронной почты и пароль пользователя или токен Google ID в Firebase для аутентификации пользователя.

См. документы Firebase Authentication SDK:

Сервисы Firebase
Адрес электронной почты и пароль для входа iOS+ | Андроид | Интернет | Флаттер | единство | С++
Вход по номеру телефона iOS+ | Андроид | Интернет | Флаттер | единство | С++
Вход по ссылке электронной почты iOS+ | Андроид | Интернет | Флаттер | единство | С++
Федеративное удостоверение
Google iOS+ | Андроид | Интернет | Флаттер | единство | С++
Фейсбук iOS+ | Андроид | Интернет | Флаттер | единство | С++
Яблоко iOS+ | Андроид | Интернет | Флаттер | единство | С++
Играть в игры Андроид | единство | С++
Игровой центр iOS+
Гитхаб iOS+ | Андроид | Интернет | Флаттер | единство | С++
Майкрософт iOS+ | Андроид | Интернет | единство | С++
Твиттер iOS+ | Андроид | Интернет | Флаттер | единство | С++
Yahoo iOS+ | Андроид | Интернет | единство | С++

Я хочу создать богатые возможности перед входом в систему

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

Анонимная аутентификация хорошо работает вместе с пользовательской аутентификацией или любой из служб аутентификации Firebase.

См. документацию для iOS+ , Android , Web , Flutter , Unity или C++ .

Я хочу получить доступ к службам Firebase из моего бэкэнда

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