Autenticar com o Firebase usando contas baseadas em senha usando JavaScript

Use o Firebase Authentication para permitir que os usuários se autentiquem no Firebase usando os respectivos e-mails e senhas e para permitir o gerenciamento das contas do aplicativo baseadas em senha.

Antes de começar

  1. Adicione o Firebase ao seu projeto do JavaScript.
  2. Caso você ainda não tenha conectado o app ao seu projeto do Firebase, faça isso no Firebase console.
  3. Ative o login com e-mail/senha:
    1. No Console do Firebase, abra a seção Autenticação.
    2. Na guia Método de login, ative o login pelo método E-mail/senha e clique em Salvar.

Criar uma conta baseada em senha

Para criar uma nova conta de usuário com uma senha, execute as seguintes etapas na página de login do app:

  1. Quando um novo usuário se inscreve usando o formulário do seu app, realize qualquer etapa de validação de nova conta exigida pelo aplicativo, como verificar se a senha da nova conta foi digitada corretamente e atende aos requisitos de complexidade.
  2. Crie uma nova conta transmitindo o endereço de e-mail e a senha do novo usuário para createUserWithEmailAndPassword:
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Se a nova conta for criada, o usuário será conectado automaticamente. Confira a seção "Próximas etapas" abaixo para receber os detalhes do usuário conectado.

    Também é nesse local que você poderá identificar e solucionar erros. Para ver uma lista de códigos de erro, consulte os Documentos de referência de autenticação.

Conectar um usuário com endereço de e-mail e senha

As etapas para um usuário fazer login com uma senha são semelhantes às de criação de uma nova conta. Na página de login do app, faça o seguinte:

  1. Quando um usuário fizer login no app, transmita o endereço de e-mail e a senha dele para signInWithEmailAndPassword:
    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
    Confira a seção "Próximas etapas" abaixo para receber os detalhes do usuário conectado.

    Também é nesse local que você poderá identificar e solucionar erros. Para uma lista de códigos de erro, confira a Documentação de referência de autenticação.

Próximas etapas

Depois que um usuário faz login pela primeira vez, uma nova conta é criada e vinculada às credenciais, que podem ser o número do telefone, o nome de usuário e a senha ou as informações do provedor de autenticação. Essa nova conta é armazenada como parte do projeto do Firebase. Ela pode ser usada para identificar um usuário em todos os apps do projeto, independentemente do método de login usado.

  • Nos seus apps, a maneira recomendada para descobrir o status de autenticação do usuário é definir um observador no objeto Auth. Você pode coletar as informações básicas do perfil do usuário do objeto User. Consulte Gerenciar usuários.

  • Nas Regras de segurança do Firebase Realtime Database e do Cloud Storage, é possível usar a variável auth para encontrar o código exclusivo do usuário conectado. Use essa informação para controlar o acesso dele aos dados.

Os usuários podem fazer login no app usando vários provedores de autenticação. Basta vincular as credenciais desses provedores a uma conta de usuário.

Para desconectar um usuário, chame signOut:

firebase.auth().signOut().then(function() {
  // Sign-out successful.
}).catch(function(error) {
  // An error happened.
});