Práticas recomendadas para implementar o recurso Fazer login com o Google

Fazer login com o Google

Introdução

O recurso Fazer login com o Google (SiwG, na sigla em inglês) é uma maneira rápida e segura para os usuários fazerem login no seu app ou site. A implementação adequada não só simplifica o processo de registro do usuário, mas também aumenta a segurança do aplicativo. Este documento descreve as práticas recomendadas para integrar o Fazer login com o Google nas plataformas Web, Android e iOS. Esta documentação se concentra apenas na autenticação. A autorização está além do escopo deste documento.

Lista de verificação de etapas de integração

Esta lista de verificação fornece um roteiro geral para orientar você no processo de integração do Fazer login com o Google. Ele é organizado em fases principais, desde a configuração inicial até o lançamento da produção. Use esta lista para acompanhar seu progresso e clique nos links para acessar a orientação detalhada de cada etapa.

Fase 0: como começar (opcional)

Comece sua integração com codelabs práticos e explicativos para desenvolvedores.

Web: conclua o codelab Um toque e Botão "Fazer login com o Google" para criar uma integração básica na Web.

Android: conclua o codelab Android para aprender os fundamentos do Credential Manager do Android.

iOS: conclua o codelab iOS para uma introdução ao SDK do iOS.

Fase 1: configuração de projeto na nuvem e marca do Google Cloud

Garanta que seu projeto esteja configurado para o sucesso desde o início.

Estruture projetos do Google Cloud para diferentes ambientes e marcas.

Conclua a configuração da tela de permissão OAuth com todas as informações necessárias de marca e suporte.

Crie o tipo de ID do cliente OAuth correto para cada plataforma (Web, Android, iOS).

Fase 2: desenvolvimento principal: front-end e back-end

Crie a lógica segura do servidor e a experiência do usuário específica da plataforma.

No desenvolvimento do front-end:

Revise e aplique as práticas recomendadas gerais de experiência do usuário (UX) para maximizar a adoção e a confiança dos usuários.

Web: use a biblioteca JavaScript oficial e integre os fluxos de botão e de um toque.

Android: use o SDK oficial do Android para fazer a integração.

iOS: use o SDK oficial do iOS para fazer a integração.

No desenvolvimento de back-end:

Implemente uma validação de back-end segura dos tokens de ID do Google.

Use a declaração sub como o identificador de usuário exclusivo e permanente no seu sistema.

Planeje a separação dos escopos de autenticação e autorização, se aplicável.

Fase 3: reforço da proteção e lançamento da produção

Verifique se a integração é segura, está em conformidade e pronta para produção.

Revise e implemente as práticas recomendadas de segurança.

Conclua o processo de verificação do app OAuth antes do lançamento.

Garanta que seu aplicativo processe corretamente a revogação de token após a exclusão da conta do usuário.

Práticas recomendadas gerais (todas as plataformas)

Essas práticas se aplicam a qualquer plataforma para a qual você esteja desenvolvendo. Os desenvolvedores também precisam revisar as políticas gerais do OAuth 2.0 para garantir a conformidade total.

Nesta seção, descrevemos as práticas recomendadas para estruturar seus projetos do Google Cloud e configurar seus clientes OAuth para segurança e conformidade com a marca.

  • Use projetos separados para teste e produção

    Como algumas políticas do Google se aplicam apenas a aplicativos de produção, você precisa criar projetos separados no console do Google Cloud para seus diferentes ambientes de implantação, como desenvolvimento, preparo e produção. Consulte esta página para mais detalhes.

  • Usar projetos separados para cada marca ou domínio

    Se a sua organização gerencia vários aplicativos com marcas distintas, cada marca precisa ter um projeto dedicado do Google Cloud. As informações voltadas para o usuário mostradas na tela de permissão, como nome do aplicativo, logotipo, e-mail de suporte e links para os Termos de Serviço e a Política de Privacidade, são configuradas no nível do projeto. Isso significa que todos os IDs do cliente OAuth criados em um único projeto vão compartilhar a mesma marca. Ao dar a cada marca um projeto próprio, você garante que os usuários vejam a marca e as informações legais corretas para o aplicativo específico que estão usando.

  • Fornecer um e-mail de suporte genérico

    O endereço de e-mail de suporte ao usuário é mostrado publicamente na tela de permissão OAuth. Para manter o profissionalismo e garantir a continuidade, sempre configure um e-mail de suporte genérico (por exemplo, support@yourdomain.com) na configuração da tela de permissão OAuth do projeto do Google Cloud em vez do endereço de e-mail de um funcionário específico. Consulte esta página para mais detalhes.

  • Cliente OAuth por plataforma

    Crie um cliente OAuth separado para cada plataforma em que seu app é executado (por exemplo, Web, Android, iOS), tudo no mesmo projeto do Google Cloud. Usar o tipo de cliente correto para cada plataforma é crucial por dois motivos principais:

    • Segurança reforçada: cada tipo de cliente ativa recursos de segurança específicos da plataforma. Por exemplo, um cliente Android pode ser bloqueado pelo nome do pacote e pelo certificado de assinatura, impedindo o uso não autorizado do ID do cliente.
    • Funcionalidade adequada: garante que seu aplicativo se integre corretamente a SDKs e recursos específicos da plataforma, como o Gerenciador de credenciais no Android ou o SDK Fazer login com o Google para iOS.

    Essa estrutura também simplifica a experiência do usuário. Como o consentimento é processado no nível do projeto na nuvem do Google Cloud, os usuários só precisam conceder permissão uma vez ao aplicativo em todas as plataformas. Para mais detalhes, consulte as políticas oficiais do OAuth 2.0.

  • Concluir a verificação de apps OAuth

    Para que o app de produção mostre o nome e o logotipo, ele precisa ser verificado. O tipo de verificação depende dos dados que você pede ao usuário.

    • O Fazer login com o Google solicita apenas escopos de autenticação (email, profile e openid) e está sujeito a uma Verificação de marca mais simples. Esse processo geralmente é mais rápido e se concentra em confirmar a identidade da sua marca.

    Para ajudar você a planejar o cronograma de lançamento, o Google oferece um detalhamento dos diferentes tipos de verificação e os tempos de revisão esperados. Para mais detalhes sobre as políticas de verificação, consulte a Central de Ajuda sobre verificação de apps OAuth.

Segurança e processamento de tokens

Esta seção se concentra nos requisitos de ambiente de execução e nas medidas de segurança que os desenvolvedores precisam implementar nos servidores de back-end.

  • Integrar tokens de ID do Google ao seu back-end

    • Verifique o token de ID: sempre verifique a integridade do token de ID do Google no servidor de back-end. Nunca confie em um token apenas porque ele foi enviado pelo seu cliente. Recomendamos que você use uma biblioteca de cliente da API do Google para essa verificação. Consulte Verificar o token de ID do Google no lado do servidor para mais detalhes.
    • Use a declaração sub: use apenas o campo sub do token de ID do Google como identificador do usuário, já que ele é exclusivo e estável entre todas as Contas do Google e nunca é reutilizado. Armazene o campo sub e associe-o ao usuário no seu sistema de gerenciamento da conta. Embora seja possível usar o endereço de e-mail do token de ID para verificar se o usuário tem uma conta, não use o endereço de e-mail como um identificador, porque uma Conta do Google pode ter vários endereços de e-mail em diferentes momentos.
  • Revogar tokens na exclusão da conta

    É altamente recomendável oferecer aos usuários que fazem login com o Google a capacidade de desconectar a Conta do Google do seu aplicativo. Se um usuário excluir a conta, revogue todo o acesso e atualize os tokens que seu aplicativo obteve.

    Para detalhes sobre a revogação de tokens do lado do cliente, acesse a documentação da Web, do Android e do iOS. Para revogação do lado do servidor, acesse Como usar o OAuth 2.0 para aplicativos de servidor da Web.

  • Separe a autenticação da autorização

    Os SDKs de Fazer login com o Google solicitam apenas os escopos necessários para autenticação. Se o aplicativo precisar de acesso a outros serviços do Google, como o Google Agenda ou o Drive, solicite essas permissões separadamente e apenas quando o usuário tentar realizar uma ação que as exija. Consulte Momentos separados de autenticação e autorização para mais detalhes.

  • Práticas recomendadas de segurança

    Para uma integração segura, sempre verifique o token de ID no servidor de back-end usando a biblioteca de cliente das APIs do Google. Para uma proteção mais abrangente contra várias ameaças, implemente o Pacote de segurança e a Proteção entre contas (RISC). Além disso, para apps iOS, é altamente recomendável integrar o App Check para garantir que as solicitações sejam originadas do seu app autêntico.

Experiência do usuário (UX)

Esta seção se concentra na otimização dos elementos voltados ao usuário e nos fluxos de login/inscrição.

  • Mostre o botão em destaque: o botão "Fazer login com o Google" precisa estar bem visível e acessível na página de login e registro.

  • Siga as diretrizes da marca: use os botões de login oficiais da marca Google para garantir uma experiência do usuário consistente e confiável. Leia as diretrizes de marca do Fazer login com o Google oficiais.

  • Inscrição sem problemas: para novos usuários, crie uma conta automaticamente ou direcione os usuários para o novo fluxo de criação de conta no primeiro login bem-sucedido com o Google. No back-end, verifique se um usuário com o sub ID especificado existe. Se não, crie uma nova conta. Isso minimiza o esforço de registro.

  • Login simplificado: para usuários recorrentes, use o ID sub para identificar e autenticar a conta atual. Implemente recursos como login automático para Web e Android e restauração de estado para iOS e faça com que eles voltem ao seu app de forma rápida e segura.

  • Gerenciar métodos de login em redes sociais: oferece uma seção centralizada "Contas conectadas" nas configurações do usuário, onde é possível gerenciar vários métodos de login em redes sociais (por exemplo, o Google).

    • Vinculação: ofereça um botão "Fazer login com o Google" para usuários atuais que usam outros métodos (por exemplo, nome de usuário e senha). Ao clicar nisso, o fluxo de autenticação é iniciado para vincular a Conta do Google ao perfil atual.

    • Desvinculação: ofereça uma opção para desconectar a conta. Para concluir isso, revogue os tokens e remova a associação do Google do seu banco de dados.

Implementação no Android (apps e jogos)

Apps Android padrão

Para implementações do Android, use o Credential Manager. É a abordagem recomendada para processar credenciais de usuário e oferece uma experiência de login unificada, segura e consistente no Android.

Use o ID do cliente OAuth para Android na implementação. Se você já tiver uma implementação do recurso "Fazer login com o Google" em outras plataformas (por exemplo, Web, iOS), crie um novo ID do cliente OAuth do tipo Android no mesmo projeto do Google Cloud.

Fluxos de implementação

Uma implementação robusta precisa incluir a interface da página inferior do Credential Manager e um botão Fazer login com o Google.

  • Página inferior: é uma solicitação de baixo atrito apresentada pelo Credential Manager quando um usuário acessa sua tela de login.
  • Botão Fazer login com o Google: é o fluxo de login explícito iniciado pelo usuário que pode ser tocado para iniciar.
  • Uma configuração precisa do projeto na nuvem do Google Cloud é essencial. Isso envolve criar os tipos corretos de IDs de cliente OAuth e fornecer detalhes específicos, como a impressão digital do certificado SHA-1 do app. Para garantir uma configuração correta, siga o guia oficial para desenvolvedores Android com precisão.

Você deve sempre incluir o fluxo de botões, já que um usuário pode dispensar a folha de baixo ou ter desativado essa opção nas preferências. O botão garante que eles sempre possam iniciar o processo de login.

Estratégia de canal

  • Botão "Fazer login com o Google":

    • Local: mostre o botão "Fazer login com o Google" nas páginas dedicadas de inscrição ou login.
    • Visibilidade: coloque-o em destaque ao lado de outros métodos de login, como campos de nome de usuário e senha ou outros provedores de login social.
  • BottomSheet do Credential Manager:

    • Gatilho: a caixa de diálogo inferior precisa ser invocada automaticamente quando a página de login é iniciada ou quando o app é aberto. Ele não pode ser acionado quando um usuário toca em um botão.
    • Login automático: para usuários recorrentes, é altamente recomendável ativar a opção de login automático no Credential Manager. Isso permite que os usuários recorrentes (que já deram consentimento) façam login novamente no app sem precisar interagir.

Jogos para Android

Para jogos Android, o Credential Manager não é a abordagem recomendada. Em vez disso, os desenvolvedores de jogos devem usar a abordagem dos serviços do Google Play Games (PGS), que se concentra na identidade do Google multiplataforma usando o recurso Fazer login com o Google. Confira mais informações na documentação Continuidade multiplataforma com SiWG.

Implementação do iOS

Usar o SDK oficial do Fazer login com o Google

Para apps iOS, use o SDK oficial do Fazer login com o Google para iOS e macOS. Essa biblioteca oferece a maneira mais segura e fácil de usar para integrar o Sign in com o Google.

Use o ID do cliente OAuth para iOS na implementação. Se você já tiver uma implementação do Fazer login com o Google em outras plataformas (por exemplo, Web, Android), crie um novo ID do cliente OAuth do tipo iOS no mesmo projeto do Google Cloud.

Adicionar o botão "Fazer login com o Google"

  • Posicionamento: adicione o botão "Fazer login com o Google" à visualização de login do app, tanto nas páginas de inscrição quanto nas de login. Coloque-o em destaque ao lado de outros métodos de login, como campos de nome de usuário e senha ou outros provedores de login social.
  • Usar componentes recomendados: use os componentes oficiais de botão fornecidos pelo SDK para SwiftUI e UIKit. Esses componentes geram automaticamente um botão que obedece às diretrizes de marca do Google e é a maneira recomendada de mostrar o botão.

Restaurar o estado de login do usuário

  • Retorno perfeito: quando o app é iniciado, chame restorePreviousSignIn para tentar restaurar o estado de login dos usuários que já se autenticaram usando o Google. Isso garante que os usuários recorrentes não precisem fazer login toda vez que abrem o app, proporcionando uma experiência sem atrito comparável ao login automático em outras plataformas.

Melhorar a segurança com o App Check

Proteja seus recursos de back-end contra abusos verificando se as solicitações ao seu cliente OAuth 2.0 são provenientes do seu app original. O App Check usa um provedor de atestado para verificar se as solicitações são de uma instância original e não adulterada do seu app e rejeita as que não são. Consulte App Check para o Login do Google no iOS para mais detalhes.

Implementação na Web

Orientações para sites e aplicativos da Web.

Usar a biblioteca JavaScript oficial do Fazer login com o Google

Para implementações na Web, use a biblioteca JavaScript oficial do Fazer login com o Google. Essa é a geração mais recente das bibliotecas de identidade do Google para a Web e inclui os recursos Botão e Um toque.

Use o ID do cliente OAuth para Web na implementação. Se você já tiver uma implementação do Fazer login com o Google em outras plataformas (por exemplo, Android, iOS), crie um novo ID do cliente OAuth do tipo Web no mesmo projeto do Google Cloud.

Implementar fluxos de botão e de um toque

É uma prática recomendada implementar o botão "Fazer login com o Google" e a experiência de login com um toque.

  • Botão Fazer login com o Google: esse é o fluxo explícito de login/inscrição iniciado pelo usuário.
  • Um toque: oferece um prompt de login ou inscrição sem atrito e com pouca interrupção.
  • Use o mesmo ID do cliente OAuth para Web nas duas implementações.

Sempre inclua o botão como uma opção principal de login. Os usuários podem dispensar ou desativar o login com um toque nas configurações da Conta do Google, mas o botão sempre estará disponível, garantindo que os usuários nunca sejam impedidos de fazer login.

Estratégia de canal

  • Botão "Fazer login com o Google":

    • Local: mostre o botão personalizado Fazer login com o Google nas páginas dedicadas de inscrição ou login.
      • Não há um único padrão que funcione melhor para todos os sites (por exemplo, redirecionamento x pop-up). Sua equipe de design da Web ou de UX precisa testar e otimizar esses fluxos para maximizar as taxas de conclusão de inscrição e login.
    • Visibilidade: coloque-o em destaque ao lado de outros métodos de login, como campos de nome de usuário e senha ou outros provedores de login social.
    • Revise: a seção Considerações sobre o botão Fazer login com o Google para configuração e performance ideais.
  • Comando com um toque:

    • Local: mostre o prompt do um toque em várias páginas do seu site, como páginas de produtos individuais, artigos e até mesmo a página inicial. O principal benefício do Um toque é permitir que os usuários façam login ou criem uma conta sem sair da página atual.
    • Login automático: para usuários recorrentes, é altamente recomendável ativar a opção de login automático no um toque. Isso permite que os usuários recorrentes (que já deram consentimento) façam login novamente no app sem interação.
    • Análise: confira a seção Considerações sobre o um toque para ter a melhor configuração e performance.