Já tenho um sistema de autenticação
Se o app já tiver uma implementação de login e você quiser usá-la para autenticar com os serviços de back-end do Firebase, use a Autenticação personalizada. Isso inclui apps que usam qualquer uma das seguintes opções:
- Soluções personalizadas, como sistemas únicos baseados em senha.
- Serviços de terceiros para o gerenciamento de identidade, como Auth0 ou Okta.
- Integrações atuais com provedores de identidade federados, como Google, Facebook ou Apple. Se você ainda não é compatível com a identidade federada, mas tem interesse, consulte a próxima seção.
Com a autenticação personalizada, você faz login de usuários com o sistema que preferir, cria um token do Firebase para eles no back-end e usa o token do cliente para fazer a autenticação com o Firebase.
Veja a documentação para iOS+, Android, Web, Flutter, Unity ou C++.
Quero criar meu sistema de autenticação com o Firebase
Se você estiver criando um novo app ou adicionando login a um app existente, use as bibliotecas e serviços do Firebase, que podem ajudar a implementar a autenticação segura sem precisar criar o back-end de autenticação por conta própria. O Firebase Authentication é uma solução de back-end completa para fazer login com senhas, provedores de identidade federados, links de e-mail e mensagens de texto.
Quero uma solução drop in fácil de usar
A maneira mais rápida e fácil de adicionar autenticação a um app é usar a autenticação da FirebaseUI, uma biblioteca drop in de IU. A FirebaseUI implementa fluxos de usuário completos para todos os métodos de login compatíveis com o Firebase Authentication.
Como a autenticação da FirebaseUI é uma solução drop in, ela tem uma UX específica que pode não atender às suas necessidades. Se você quiser alterar a UX, divida a biblioteca de código aberto e use sua própria versão. No entanto, para fluxos de login substancialmente diferentes, talvez você prefira implementar seus próprios fluxos com o SDK do Firebase, conforme apresentado na próxima seção.
Consulte a documentação da autenticação do FirebaseUI para iOS, Android ou Web.
Quero ter controle total sobre a experiência de login
Para ter mais controle sobre a experiência de login do seu app, implemente seus próprios fluxos de autenticação e use o SDK do Firebase para trabalhar com os serviços de autenticação do Firebase. Por exemplo, crie seu próprio endereço de e-mail e fluxo de senha ou de login do Google e transmita o endereço de e-mail e a senha do usuário ou o token de ID do Google para autenticar o usuário.
Consulte os documentos do SDK Firebase Authentication:
Serviços do Firebase | |
---|---|
Login com endereço de e-mail e senha | iOS+ | Android | Web | Flutter | Unity | C++ |
Login com número de telefone | iOS+ | Android | Web | Flutter | Unity | C++ |
Login por link de e-mail | iOS+ | Android | Web | Flutter | Unity | C++ |
Identidade federada | |
iOS+ | Android | Web | Flutter | Unity | C++ | |
iOS+ | Android | Web | Flutter | Unity | C++ | |
Apple | iOS+ | Android | Web | Flutter | Unity | C++ |
Play Games | Android | Unity | C++ |
Game Center | iOS+ |
GitHub | iOS+ | Android | Web | Flutter | Unity | C++ |
Microsoft | iOS+ | Android | Web | Unity | C++ |
iOS+ | Android | Web | Flutter | Unity | C++ | |
Yahoo | iOS+ | Android | Web | Unity | C++ |
Quero criar experiências de pré-login completas
Permita que os usuários usem os recursos de login do seu app antes de fazerem login usando a autenticação anônima. Com o "login" anônimo, você cria contas temporárias de sessão única, que podem ser usadas como uma conta real. Depois que o usuário fizer login ou se inscrever, vincule a conta temporária à conta real para permitir que ele continue de onde parou.
A autenticação anônima funciona bem com a personalizada ou com qualquer serviço de autenticação do Firebase.
Veja a documentação para iOS+, Android, Web, Flutter, Unity ou C++.
Quero acessar os serviços do Firebase no meu back-end
Para acessar os serviços do Firebase usando um servidor, não é necessário usar o Firebase Authentication. Em vez disso, use a classe Admin SDK. Ao inicializar o Admin SDK, você faz a autenticação com credenciais de conta de serviço, que representam seu projeto do Firebase em vez de um usuário específico e que concedem acesso total aos recursos do projeto.