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 oferece 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 do iOS para uma introdução ao SDK do iOS.
Fase 1: configuração de marca e projeto 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 de 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 segurança 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.
Verifique se o aplicativo processa corretamente a revogação do 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.
Configuração do projeto do Google Cloud
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.
Use 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.
Forneça um e-mail de suporte genérico
O endereço de e-mail de suporte ao usuário é exibido 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 consentimento do 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 Credential Manager no Android ou o SDK Sign in with Google para iOS.
Essa estrutura também simplifica a experiência do usuário. Como o consentimento é processado no nível do projeto 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 Login com o Google solicita apenas escopos de autenticação
(
email,profileeopenid) 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 resumo 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 da verificação de apps OAuth.
- O Login com o Google solicita apenas escopos de autenticação
(
Segurança e processamento de tokens
Esta seção se concentra nos requisitos de tempo 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 camposubdo 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 camposube associe-o ao usuário no seu sistema de gerenciamento de contas. 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 Usar o OAuth 2.0 para aplicativos de servidor da Web.
Separe a autenticação da autorização
Os SDKs do Sign-in 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 se originem 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 oficiais da promoção de marca do Fazer login com o Google.
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 com o Google. No back-end, verifique se um usuário com o
subID 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
subpara identificar e autenticar a conta atual. Implemente recursos como login automático para Web e Android para 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, 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 Gerenciador de credenciais. Essa é 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 a implementação do 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 Gerenciador de credenciais 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 começar.
- Uma configuração precisa do projeto 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-1do app. Para garantir uma configuração correta, siga o guia oficial para desenvolvedores Android com precisão.
Sempre inclua 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 Gerenciador de credenciais:
- Gatilho: a caixa de diálogo inferior precisa ser invocada automaticamente quando a página de login é iniciada ou quando o app é iniciado. 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 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 relacionados a jogos do Google Play (PGS), que se concentra na identidade do Google multiplataforma usando o recurso Fazer login com o Google. Confira mais detalhes na documentação sobre a identidade do Google multiplataforma usando o recurso Fazer login com o Google.
Implementação do iOS
Usar o SDK oficial do Login com o Google
Para apps iOS, use o SDK oficial do Sign-in 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 a implementação do 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, nas páginas de inscrição e 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.
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 autêntico. O App Check usa um provedor de atestado para verificar se as solicitações são de uma instância genuína 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.
Use a biblioteca JavaScript oficial do recurso Fazer login com o Google
Para implementações na Web, use a biblioteca JavaScript oficial do Login do 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 Login do 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 recurso 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 uma configuração e performance ideais.
- Local: mostre o botão personalizado Fazer login com o Google nas páginas dedicadas de inscrição ou login.
Comando com um toque:
- Local: mostre a solicitação com 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 recurso é 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 One Tap. Isso permite que os usuários recorrentes (que já deram consentimento) façam login novamente no app sem interação.
- Analise: a seção Considerações sobre o One Tap para ter a melhor configuração e performance.