É possível usar o Firebase Authentication para permitir que seus usuários se autentiquem com o Firebase usando endereços de e-mail e senhas.
Antes de começar
Siga as etapas no guia Primeiros passos, caso ainda não tenha feito isso.
Ative o login com e-mail/senha:
- Na seção Autenticação do Console do Firebase, abra a página Método de login.
- Na página Método de login, ative o método Login por e-mail/senha e clique em Salvar.
Criar uma conta baseada em senha
Para criar uma nova conta de usuário com uma senha, chame o método
createUserWithEmailAndPassword()
:
try {
final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: emailAddress,
password: password,
);
} on FirebaseAuthException catch (e) {
if (e.code == 'weak-password') {
print('The password provided is too weak.');
} else if (e.code == 'email-already-in-use') {
print('The account already exists for that email.');
}
} catch (e) {
print(e);
}
Normalmente, isso é feito na tela de inscrição do app. Quando um novo usuário se inscrever usando o formulário do seu app, conclua as etapas de validação de nova conta exigidas pelo app, como verificar se a senha da nova conta foi digitada corretamente e atende aos requisitos de complexidade.
Se uma nova conta foi criada, isso significa que o usuário fez login. Se você estiver ouvindo as alterações no estado de autenticação, um novo evento será enviado aos listeners.
Como acompanhamento da criação de uma nova conta, é possível verificar o endereço de e-mail do usuário.
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 tela de login do app, chame
signInWithEmailAndPassword()
:
try {
final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
email: emailAddress,
password: password
);
} on FirebaseAuthException catch (e) {
if (e.code == 'user-not-found') {
print('No user found for that email.');
} else if (e.code == 'wrong-password') {
print('Wrong password provided for that user.');
}
}
Próximas etapas
Depois que um usuário cria uma nova conta, ela é armazenada como parte do seu projeto do Firebase e pode ser usada para identificar um usuário em todos os apps do projeto, seja qual for o método de login usado.
É possível receber as informações básicas de perfil do usuário do objeto
User
nos seus aplicativos. Consulte Gerenciar usuários.
Nas Regras de segurança do Firebase Realtime Database e do Cloud Storage, é possível
receber o ID do usuário único conectado da variável auth
e usar esse ID para controlar quais dados um usuário pode acessar.
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()
:
await FirebaseAuth.instance.signOut();