Como utilizar o Firebase com Flutter — FlutterFire (Parte 2)

FlutterFire Auth — Email/Password

Igor L Sambo💙🇲🇿
GDG Maputo
3 min readFeb 2, 2021

--

Depois de configurar o projecto como um todo, é altura de colocar na prática alguns dos recursos oferecidos pelo firebase.

Para dar início iremos olhar para o Firebase Auth que permite aos utilizadores criarem contas e acederem às nossas aplicações por meio de um serviço de autenticação já criado pelo firebase, reduzindo a necessidade de criar um serviço de backend do zero para controle de acesso às mesmas.

Este artigo é parte de uma série de artigos relacionados ao FlutterFire que conta com os seguintes artigos:

  1. Como utilizar o Firebase com Flutter (Introdução — Configurando o FlutterFire)
  2. Como utilizar o Firebase com Flutter (FlutterFire Auth — Email/Password) (este artigo)
  3. Como utilizar o Firebase com Flutter (FlutterFire Auth — Phone)
  4. Como utilizar o Firebase com Flutter (FlutterFire Auth — Social(Google))
  5. Como utilizar o Firebase com Flutter (Cloud Firestore)

Inicializando o FlutterFire Auth

https://media.giphy.com/media/ezTqRwBoQRZhm/giphy.gif

Para usar o FlutterFire Auth como qualquer outro serviço do firebase é importante antes de mais nada incluir o plugin nas dependências do projecto

dependencies:
flutter:
sdk: flutter
firebase_core: ^x.x.x
firebase_auth: ^x.x.x

e correr o

$ flutter pub get

para poder usar em seu projecto e então ter acesso às funções para autenticação do utilizador.

FirebaseAuth auth = FirebaseAuth.instance;

Para este artigo serão abordados 3 funções:

  1. Registo de conta

Como foi dito anteriormente, toda a estrutra para verificação e validação é feita do lado do firebase, bastando para o desenvolvedor flutter com recurso ao FlutterFire fazer uso da resposta retornada pelo Firebase.

Usando um try e invocando especificamente o FirebaseAuthException conseguimos ter acesso às possíveis Excepctions, assim temos menos que nos preocupar com o controle de credenciais inseridos com o utilizador, apenas validações de texto de modo a não “quebrar” a app nalgum momento e usar da resposta para criar mensagens de feedback para o utilizador.

2. Login

3. Validação de email

Este ponto está integrado no código partilhado nos pontos (1.) e (2.), permitindo validar se o utilizador realmente tem acesso ao email fornecido, tornando o controlo de acesso à aplicação mais fiel possível.

//enviar o email de verificação caso não tenha sido enviado um
if (!isEmailVerified())) {
await user.sendEmailVerification();}
//verificar o estado de validação do email
bool isEmailVerified() {
User user = auth.currentUser;
return user.emailVerified;
}

E temos como nossa tela previamente partilhada nos diversos estados passados, consoante a resposta obtida do serviço do firebase com a seguinte estrutura:

O projecto pode ser encontrado no github, espero que tire proveito do mesmo e contribua com melhorias em qualquer aspecto.

Espero que tenha aprendido com este artigo e que se tenha divertido enquanto lia.

Obrigado por acompanhar até ao fim e espero por você no próximo artigo.

Para questões e sugestões esteja a vontade para tal nos comentários, email igorlsambo1999@gmail.com ou twitter @lsambo02.

Obrigado e até ao próximo artigo!!!

--

--