Por onde começo com o Firebase Authentication?

Já tenho um sistema de autenticação

Se o aplicativo já tiver uma implementação de login e você quiser usá-la para autenticar com os serviços de back-end do Firebase, use 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, 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, o Firebase tem bibliotecas e serviços que podem ajudar você a implementar a autenticação segura sem precisar criar o back-end de autenticação. 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 do Firebase Authentication:

Serviços do Firebase
Login com endereço de e-mail e senha iOS | Android | Web | Unity | C++
Login com número de telefone iOS | Android | Web | Unity | C++
Login por link de e-mail iOS | Android | Web | Unity | C++
Identidade federada
Google iOS | Android | Web | Unity | C++
Facebook iOS | Android | Web | Unity | C++
Apple iOS | Android | Web | Unity | C++
Play Games Android | Unity | C++
Game Center iOS
GitHub iOS | Android | Web | Unity | C++
Microsoft iOS | Android | Web | Unity | C++
Twitter iOS | Android | Web | 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, Unity ou C++.

Quero acessar os serviços do Firebase no meu back-end

Para acessar os serviços do Firebase usando de um servidor, não é necessário usar o Firebase Authentication. Em vez disso, use o SDK Admin. Ao inicializar o SDK Admin, 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.