Utilizando o Firebase Authentication em uma aplicação Android \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 13 Horas 

 17 Min 

 11 Seg 

   Tempo restante da oferta: 13 17 11 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Utilizando o Firebase Authentication em uma aplicação Android  [ Android ](https://www.treinaweb.com.br/blog/categoria/android) [ Firebase ](https://www.treinaweb.com.br/blog/categoria/firebase) 

# Utilizando o Firebase Authentication em uma aplicação Android

 Veja como implementar o Firebase Authentication em uma aplicação Android, usando o Android Studio.

 [ Daniel Viana ](https://www.treinaweb.com.br/blog/autor/daniel-viana) 10 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/06/utilizando-o-firebase-authentication-em-uma-aplicacao-android.png)  

O Firebase é uma excelente plataforma que auxilia desenvolvedores web e mobile na criação de aplicações de alta qualidade e performance, desde a concepção, monitoramento até a publicação. Você pode conhecer um pouco mais sobre ele no post: [Firebase: descubra no que esta plataforma pode te ajudar](https://www.treinaweb.com.br/blog/firebase-descubra-no-que-esta-plataforma-pode-te-ajudar/).

[  ![Firebase com Android - Módulo Develop](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/firebase.svg)   Curso Firebase com Android - Módulo Develop Conhecer o curso ](https://www.treinaweb.com.br/curso/firebase-com-android-modulo-develop)

Hoje veremos como implementar o Firebase em uma aplicação Android através do Android Studio e utilizar o serviço de autenticação *Firebase Authentication*.

**Step 1:** Acesse https://console.firebase.google.com e faça login com um conta do Google. Após o login será disponibilizado para você a opção de criar um novo projeto no Firebase.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/01-novo-projeto-firebase.png)

**Step 2:** Após clicar na opção **Novo Projeto** no passo anterior, você deve informar o nome do projeto e o País/Região para criá-lo.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/02-novo-projeto-firebase.png)

Depois de criado, você já tem acesso a todas as opções disponíveis.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/03-inicio-projeto-firebase.png)

**Step 3:** Agora, você deve criar um projeto no Android Studio que integre o Firebase. No meu caso, criei um projeto com o nome **Artigo Firebase** e package **br.com.treinaweb.artigofirebase**.

**Step 4:** Após o projeto criado no Android Studio, é hora de integrar o Firebase. Para isso, clique no menu **Tools &gt; Firebase**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/04-android-studio-firebase.png)

Ao clicar nesta opção, irá aparecer no lado direto, no Android Studio, o assistente de configuração do Firebase. Clique na opção **Authentication**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/05-android-studio-firebase.png)

**Step 5:** Após clicar na opção de autenticação, você tem a opção de conectar o projeto ao Firebase. É isto que faremos agora clicando na opção **Connect to Firebase**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/06-android-studio-firebase.png)

**Step 6:** Neste momento o seu navegador será aberto e solicitará algumas permissões de acesso a sua conta.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/07-android-studio-firebase-autenticacao.png)

Após as permissões serem concedidas deverá aparecer para você uma mensagem de sucesso:

![](https://d2m498l008ebpa.cloudfront.net/2017/03/08-android-studio-confirmacao.png)

Depois de visualizar a mensagem, volte ao Android Studio.

**Step 7:** Ao retornar para o Android Studio, você terá as opções de criar um novo projeto ou escolher um projeto existente. No nosso caso, vamos escolher o projeto existente que criamos no Firebase e conectá-lo efetivamente ao projeto no Android Studio, clicando na opção **Connet to Firebase**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/09-android-studio-projeto.png)

Depois de processar a sua solicitação será exibido no assistente que o seu projeto está conectado.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/10-android-studio-firebase-conectado.png)

**Step 8:** Agora que o projeto no Android Studio está vinculado ao projeto no Firebase, é hora de utilizar os recursos de Autenticação. Para isso, clique na opção **Authentication** na página do seu projeto no Firebase. E, para escolhermos as formas de autenticação que iremos utilizar, clique na opção **Configurar método de login**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/11-firebase-configuracao-auth.png)

**Step 9:** Neste exemplo vamos utilizar a autenticação de **E-mail/Senha**. Sendo assim, ative-a.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/12-firebase-configuracao-auth.png)

**Step 10:** Após ativar a opção no passo anterior, vá até a guia **Usuários** e adicione um novo para utilizarmos na aplicação clicando na opção 2 **Adicionar Usuário**. Informe um e-mail e senha e adicione-o.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/13-firebase-configuracao-auth-usuario.png)

**Step 11:** Depois de criar o usuário, volte ao Android Studio e adicione o SDK do Firebase contendo o módulo de Autenticação na aplicação. Para isto basta clicar na opção **Add Firebase Authentication to your app** e aceitar as modificações em **Accept Changes**.

![](https://d2m498l008ebpa.cloudfront.net/2017/03/14-firebase-inclusao-android-studio.png)

**Step 12:** Agora basta implementar os códigos necessários para realizar o login através do Firebase Auth. Neste caso, não utilizaremos uma tela de login para o usuário informar os dados de acesso. O foco é mostrar o que é preciso para fazer a autenticação utilizando o Firebase. Vamos através da do Log informar se os dados de login informados são válidos ou não.

Primeiro precisamos recuperar a instância do Firebase Auth. Basta criar a variável global:

```Java
private FirebaseAuth mAuth;

```

E, no método `onCreate()`, recuperar a instância:

```Java
mAuth = FirebaseAuth.getInstance();

```

Para monitorar as mudanças no estado da autenticação, vamos adicionar um Listener para isso. Vamos criar a variável no escopo global:

```Java
private FirebaseAuth.AuthStateListener mAuthListener;

```

E no método `onCreate()` adicione:

```Java
mAuthListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
        FirebaseUser user = firebaseAuth.getCurrentUser();
        if (user != null) {
            Log.d("AUTH", "onAuthStateChanged:signed_in:" + user.getUid());
        } else {
            Log.d("AUTH", "onAuthStateChanged:signed_out");
        }

    }
};

```

Agora nos métodos `onStart()` e `onStop()` devemos adicionar e remover, respectivamente, o monitoramento através do Listener:

```Java
@Override
public void onStart() {
    super.onStart();
    mAuth.addAuthStateListener(mAuthListener);
}

@Override
public void onStop() {
    super.onStop();
    if (mAuthListener != null) {
        mAuth.removeAuthStateListener(mAuthListener);
    }
}

```

E para fazer o login, propriamente dito, basta utilizar o seguinte código no método `onCreate()`:

```Java
mAuth.signInWithEmailAndPassword("testeteste@treinaweb.com.br", "thmpv77d6f").addOnCompleteListener(this, new OnCompleteListener() {
    @Override
    public void onComplete(@NonNull Task task) {

        if (!task.isSuccessful()) {
            Log.w("AUTH", "Falha ao efetuar o Login: ", task.getException());
        }else{
            Log.d("AUTH", "Login Efetuado com sucesso!!!");
        }
    }
});

```

Ao executar esta aplicação temos o seguinte resultado no Log:

![](https://d2m498l008ebpa.cloudfront.net/2017/03/15-firebase-auth-sucesso.png)

Desta forma o nosso login utilizando a autenticação do Firebase já está funcional. o/

Você pode consultar a documentação oficial através do site do [Firebase](https://firebase.google.com/).

Ah, claro, você também pode fazer o nosso curso [Firebase com Android](https://www.treinaweb.com.br/curso/firebase-com-android-modulo-develop):

[  ![Firebase com Android - Módulo Develop](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/firebase.svg)   Curso Firebase com Android - Módulo Develop Conhecer o curso ](https://www.treinaweb.com.br/curso/firebase-com-android-modulo-develop)

Um abraço e até a próxima!

- [ #Android ](https://www.treinaweb.com.br/blog/tag/android)
- [ #Firebase ](https://www.treinaweb.com.br/blog/tag/firebase)
- [ #Firebase Auth ](https://www.treinaweb.com.br/blog/tag/firebase-auth)

Autor

 ![Daniel Viana](//secure.gravatar.com/avatar/ee77d0cb4491d2d130f9f1093aabff4f?d=mm)

## Daniel Viana

 Instrutor, Desenvolvedor Android, Mestrando em Bioinformática pela UFMG, MBA Executivo em Gerenciamento de Projetos pela UCAM, Graduado em Ciência da Computação pela FUNIP, Membro da SBC, ACM e AB3C. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/daniel-viana)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/o_que_e_firebase-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ O que é Firebase? ](https://www.treinaweb.com.br/blog/o-que-e-firebase) 

     Veja neste artigo o que é Firebase.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/firebase-1-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     10 anos atrás

    ##  [ Firebase: descubra no que esta plataforma pode te ajudar ](https://www.treinaweb.com.br/blog/firebase-descubra-no-que-esta-plataforma-pode-te-ajudar) 

     O Firebase é uma plataforma do Google que contém um conjunto de ferramentas e infraestrutura para ajudar no desenvolvimento web e mobile.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/android-things-1-400x280.jpg)  [ Tecnologia ](https://www.treinaweb.com.br/blog/categoria/tecnologia) 

     10 anos atrás

    ##  [ Android Things e a Internet das Coisas ](https://www.treinaweb.com.br/blog/android-things-e-a-internet-das-coisas) 

     Depois do Android Auto e Wear, o Google lançou o Android Things exclusivamente para a Internet das Coisas, a próxima revolução tecnológica.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/08/EJS-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     5 anos atrás

    ##  [ Utilizando template engine EJS com Node.js ](https://www.treinaweb.com.br/blog/utilizando-template-engine-ejs-com-node-js) 

     Neste artigo vamos aprender a utilizar a Template Engine EJS com Node.js e também alguns recursos interessantes desta ferramenta.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/utilizando-arquivos-dotenv-env-em-uma-aplicacao-asp-net-core-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     6 anos atrás

    ##  [ Utilizando arquivos Dotenv (.env) em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-arquivos-dotenv-env-em-uma-aplicacao-asp-net-core) 

     O uso de arquivos .env é quase o padrão de aplicações web, veja como utilizá-los em uma aplicação ASP.NET Core.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/utilizando-o-mysql-em-uma-aplicacao-c-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     6 anos atrás

    ##  [ Utilizando o MySQL em uma aplicação C ](https://www.treinaweb.com.br/blog/utilizando-o-mysql-em-uma-aplicacao-c) 

     Veja as configurações necessárias para utilizar o MySQL em uma aplicação C.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/02/Estrutuas-condicao-repeticao-jinja2-400x280.png)  [ Flask ](https://www.treinaweb.com.br/blog/categoria/flask) 

     6 anos atrás

    ##  [ Utilizando estruturas de condição e repetição no Jinja2 ](https://www.treinaweb.com.br/blog/utilizando-estruturas-de-condicao-e-repeticao-no-jinja2) 

     Veja neste artigo como utilizar estruturas de condição e repetição no Jinja2.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/hybrid-orm-repodb-no-asp-net-core-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     6 anos atrás

    ##  [ Utilizando o hybrid ORM RepoDb em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-o-hybrid-orm-repodb-em-uma-aplicacao-asp-net-core) 

     Um meio termo entre o Dapper e o Entity Framework, o hybrid ORM RepoDb é uma ótima opção de ORM para aplicações intermediárias.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/nhibernate-no-asp-net-core-400x280.png)  [ ASP .NET ](https://www.treinaweb.com.br/blog/categoria/asp-net) 

     7 anos atrás

    ##  [ Utilizando o NHibernate em uma aplicação ASP.NET Core ](https://www.treinaweb.com.br/blog/utilizando-o-nhibernate-em-uma-aplicacao-asp-net-core) 

     O NHibernate é uma biblioteca madura e muito utilizada que agora fornece suporte para o .NET Core. Veja um exemplo do NHibernate no ASP.NET Core.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/18140521/AUTOMAPPER-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ Utilizando AutoMapper no C# ](https://www.treinaweb.com.br/blog/utilizando-automapper-no-c) 

     Conheça a biblioteca AutoMapper e aprenda como implementá-la em uma aplicação C#.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/11/08085435/app-flask-css-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Utilizando arquivos estáticos no Flask ](https://www.treinaweb.com.br/blog/utilizando-arquivos-estaticos-no-flask) 

     Veja neste artigo como utilizar arquivos estáticos em projetos Flask.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/23115642/CHAVE-PRIMÁRIA-DJANGO-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Utilizando Choices no Django ORM ](https://www.treinaweb.com.br/blog/utilizando-choices-no-django-orm) 

     Veja neste artigo como utilizar os choices no Django ORM.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **13h 17min 11s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
