More

Guia Completo para Autenticação de Terceiros no Flutter com Parse no Back4App

43min

Introdução

Integrar métodos de autenticação de terceiros como Facebook, Google e Apple em seu aplicativo Flutter pode melhorar significativamente a experiência do usuário, oferecendo opções de login flexíveis e convenientes. O Parse Server, alimentado pelo Back4App, oferece suporte integrado para esses provedores de autenticação. Neste tutorial, você aprenderá como implementar a autenticação de terceiros em seu aplicativo Flutter usando o SDK do Parse no Back4App.

Ao final deste tutorial, você terá um aplicativo Flutter com recursos de cadastro e login totalmente funcionais que incluem:

  1. Autenticação padrão por e-mail/senha usando o Parse.
  2. Métodos de autenticação de terceiros:
    • Facebook
    • Google
    • Apple

Pré-requisitos

Para acompanhar este tutorial, você precisará do seguinte:

  • Uma conta Back4App. Inscreva-se para uma conta gratuita em Back4App.
  • Um ambiente de desenvolvimento Flutter instalado em sua máquina. Siga este guia se precisar de ajuda para configurar o Flutter.
  • Conhecimento básico de Flutter e Dart. Se você é novo, confira a introdução do Flutter.
  • Contas de desenvolvedor para Facebook, Google e Apple (necessárias para configurar métodos de login de terceiros).
  • Um IDE ou editor de texto como Visual Studio Code ou Android Studio.

Passo 1 – Configurando seu Backend Back4App

1.1. Criar um Projeto Back4App

  1. Faça login no seu painel do Back4App.
  2. Clique em "Criar novo App".
  3. Digite um nome para sua aplicação, por exemplo, "AuthDemo", e clique em "Criar".
  4. Uma vez que o projeto é criado, navegue até Configurações do App > Segurança e Chaves.
  5. Anote seu ID da Aplicação e Chave do Cliente. Você precisará desses valores para inicializar o Parse em seu aplicativo Flutter.

1.2. Habilitar Provedores de Autenticação

  1. No seu painel do Back4App, navegue até Configurações do Servidor > Autenticação.
  2. Habilite os métodos de autenticação que você pretende usar:
    • Facebook
    • Google
    • Apple
  3. Para cada provedor, você precisará inserir credenciais específicas (IDs de App, IDs de Cliente, Segredos, etc.), que serão configuradas nos próximos passos.

Passo 2 – Instalando e Configurando o SDK Parse no Flutter

2.1. Criar um Novo Projeto Flutter

Abra seu terminal e crie um novo projeto Flutter:

Bash


2.2. Adicionar Dependências

Abra pubspec.yaml e adicione as seguintes dependências para Parse e opções de login de terceiros:

YAML


Execute flutter pub get para instalar as dependências.

2.3. Inicializar o Parse em main.dart

No arquivo lib/main.dart , importe o SDK do Parse e inicialize-o na função main :

Dart

  • Substitua 'YOUR_APP_ID' e 'YOUR_CLIENT_KEY' pelas suas credenciais reais do Back4App da Etapa 1.

Etapa 3 – Implementando Autenticação Padrão

3.1. Criar o Serviço de Autenticação

Crie um novo diretório chamado services sob lib e adicione um arquivo chamado auth_service.dart. Este serviço irá gerenciar o registro e login de usuários usando o Parse.

Dart


3.2. Crie a Tela de Autenticação

Crie um novo diretório chamado screens sob lib e adicione um arquivo chamado auth_screen.dart. Esta tela fornecerá a interface do usuário para autenticação padrão.

Dart


Passo 4 – Integrando a Autenticação do Facebook

4.1. Configurar Conta de Desenvolvedor do Facebook

  1. Criar um aplicativo do Facebook:
    • Vá para Facebook para Desenvolvedores e faça login.
    • Clique em "Meus Aplicativos" e então "Criar Aplicativo".
    • Selecione "Consumidor" como o tipo de aplicativo e clique em "Próximo".
    • Preencha o Nome do App e Email de Contato, então clique em "Criar App".
  2. Adicione o Login do Facebook ao Seu App:
    • No painel do seu aplicativo, navegue até "Adicionar um Produto" e selecione "Login do Facebook".
    • Escolha "Android" e/ou "iOS" dependendo da sua plataforma alvo.
    • Siga os passos de configuração fornecidos pelo Facebook. Você precisará do Identificador do Pacote para iOS e Nome do Pacote para Android.
  3. Configurar URI de Redirecionamento OAuth:
    • Defina o OAuth Redirect URI para: https://parseapi.back4app.com/auth/facebook/callback
  4. Obtenha o ID do aplicativo e o segredo do aplicativo:
    • No painel do seu aplicativo, vá para "Configurações" > "Básico".
    • Anote o App ID e App Secret.
  5. Adicione o ID do App e o Segredo ao Back4App:
    • No painel do Back4App, navegue até Configurações do Servidor > Autenticação.
    • Sob Facebook, insira seu ID do App e Segredo do App.

4.2. Atualizar auth_service.dart com Login do Facebook

Adicione o seguinte código para lidar com a autenticação do Facebook:

Dart


4.3. Adicione o Botão de Login do Facebook ao auth_screen.dart

Adicione o seguinte botão à sua interface:

Dart


4.4. Configurações Específicas da Plataforma

Android

  • Atualize seu android/app/src/main/AndroidManifest.xml:
XML

  • Adicione seu ID do App do Facebook a android/app/src/main/res/values/strings.xml:
XML


iOS

  • Atualize seu Info.plist arquivo:
XML


Passo 5 – Integrando a Autenticação do Google

5.1. Configurar Conta de Desenvolvedor do Google

  1. Criar um Projeto no Google Cloud Console:
  2. Configurar a Tela de Consentimento do OAuth:
    • Navegue até APIs & Serviços > Tela de consentimento do OAuth.
    • Configure a tela de consentimento com os escopos necessários.
  3. Criar ID do Cliente OAuth:
    • Vá para Credenciais > Criar Credenciais > ID do cliente OAuth.
    • Escolha Aplicativo da Web.
    • Adicione URIs de redirecionamento autorizados: https://parseapi.back4app.com/auth/google/callback
    • Anote o ID do Cliente e Segredo do Cliente.
  4. Adicione o ID e o Segredo do Cliente ao Back4App:
    • No painel do Back4App, em Configurações do Servidor > Autenticação, insira seu ID do Cliente e Segredo do Cliente para o Google.

5.2. Atualizar auth_service.dart com Login do Google

Adicione o seguinte código para lidar com a autenticação do Google:

Dart


5.3. Adicionar Botão de Login do Google a auth_screen.dart

Adicione o seguinte botão à sua interface:

Dart


5.4. Configurações Específicas da Plataforma

Android

  • Adicione o seguinte ao seu android/app/build.gradle arquivo:
Text

  • Adicione seu ID de Cliente do Google a android/app/src/main/res/values/strings.xml:
XML

  • Atualize seu android/app/src/main/AndroidManifest.xml:
XML


iOS

  • Adicione o ID do cliente revertido ao seu Info.plist:
XML


Passo 6 – Integrando a Autenticação da Apple

6.1. Configurar Conta de Desenvolvedor da Apple

  1. Registrar seu aplicativo:
  2. Ativar Login com a Apple:
    • Em Identificadores, selecione seu aplicativo e ative Login com a Apple.
  3. Criar um ID de Serviços:
    • Crie um ID de Serviços para seu aplicativo.
    • Defina a URI de Redirecionamento para: https://parseapi.back4app.com/auth/apple/callback
  4. Gerar um Client Secret:
    • Crie uma chave privada para Login com a Apple.
    • Use esta chave para gerar um Client Secret.
  5. Adicionar Credenciais ao Back4App:
    • No painel do Back4App, em Configurações do Servidor > Autenticação, insira seu ID de Serviços e Client Secret para a Apple.

6.2. Atualizar auth_service.dart com Login da Apple

Adicione o seguinte código para lidar com a autenticação da Apple:

Dart


6.3. Adicione o botão de login da Apple em auth_screen.dart

Adicione o seguinte botão à sua interface:

Dart


6.4. Configurações Específicas da Plataforma

Apenas iOS

  • No Xcode, abra seu projeto e vá para Assinatura e Capacidades.
  • Clique em "+ Capacidade" e adicione "Login com Apple".
  • Certifique-se de que seu Identificador do Pacote corresponda ao registrado no Portal de Desenvolvedores da Apple.

Passo 7 – Testando Seu Aplicativo

Agora que você configurou todos os métodos de autenticação, pode executar seu aplicativo e testar cada opção de login.

7.1. Execute o Aplicativo

Bash

  • Para iOS, você deve executar o aplicativo em um dispositivo real para testar o Login com Apple.
  • Para Android, você pode usar um emulador ou um dispositivo físico.

7.2. Teste a Autenticação Padrão

  • Digite um nome de usuário, e-mail e senha.
  • Toque em "Cadastrar" para criar um novo usuário.
  • Toque em "Login" para entrar com as credenciais criadas.

7.3. Teste o Login com Facebook

  • Toque "Login com Facebook".
  • Uma tela de login do Facebook aparecerá.
  • Faça login com suas credenciais do Facebook.

7.4. Testar Login com Google

  • Toque "Login com Google".
  • Uma tela de login do Google aparecerá.
  • Faça login com sua conta do Google.

7.5. Testar Login com Apple (Apenas iOS)

  • Toque "Login com Apple".
  • O prompt de login da Apple aparecerá.
  • Autentique-se usando seu ID Apple.

Conclusão

Neste tutorial, você implementou com sucesso a autenticação padrão de email/senha e integrou métodos de autenticação de terceiros (Facebook, Google e Apple) em seu aplicativo Flutter usando o Parse SDK no Back4App. Essa configuração melhora a experiência do usuário ao oferecer várias opções de login convenientes.

Próximos Passos

  • Perfis de Usuário: Amplie o aplicativo para gerenciar perfis de usuário, permitindo que os usuários atualizem suas informações.
  • Funcionalidade de Logout: Implemente recursos de logout para cada método de autenticação.
  • Segurança de Dados: Proteja seus dados implementando controle de acesso baseado em funções com ACLs e Funções do Parse.
  • Tratamento de Erros: Melhore o tratamento de erros para fornecer feedback mais detalhado aos usuários.
  • Melhorias na UI: Personalize a UI para combinar com a marca do seu aplicativo e melhorar a experiência do usuário.

Recursos Adicionais

Feliz Codificação!