У меня уже есть система аутентификации
Если в вашем приложении уже есть реализация входа и вы хотите использовать ее для аутентификации в серверных службах 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+ | Андроид | Интернет | Флаттер | единство | С++ |
Федеративное удостоверение | |
iOS+ | Андроид | Интернет | Флаттер | единство | С++ | |
Фейсбук | iOS+ | Андроид | Интернет | Флаттер | единство | С++ |
Яблоко | iOS+ | Андроид | Интернет | Флаттер | единство | С++ |
Играть в игры | Андроид | единство | С++ |
Игровой центр | iOS+ |
Гитхаб | iOS+ | Андроид | Интернет | Флаттер | единство | С++ |
Майкрософт | iOS+ | Андроид | Интернет | единство | С++ |
Твиттер | iOS+ | Андроид | Интернет | Флаттер | единство | С++ |
Yahoo | iOS+ | Андроид | Интернет | единство | С++ |
Я хочу создать богатые возможности перед входом в систему
Вы можете разрешить пользователям использовать функции входа в приложение до того, как они войдут в систему с помощью анонимной аутентификации . При анонимном «входе» вы создаете временные односессионные учетные записи, которые можно использовать как настоящую учетную запись. Затем, после того как пользователь войдет или зарегистрируется, свяжите временную учетную запись с реальной учетной записью, чтобы они могли продолжить с того места, на котором остановились.
Анонимная аутентификация хорошо работает вместе с пользовательской аутентификацией или любой из служб аутентификации Firebase.
См. документацию для iOS+ , Android , Web , Flutter , Unity или C++ .
Я хочу получить доступ к службам Firebase из моего бэкэнда
Чтобы получить доступ к службам Firebase с сервера, вам не нужно использовать аутентификацию Firebase. Вместо этого используйте Admin SDK . Когда вы инициализируете Admin SDK, вы проходите аутентификацию с учетными данными служебной учетной записи, которые представляют ваш проект Firebase, а не конкретного пользователя, и которые предоставляют полный доступ к ресурсам вашего проекта.