Configurar login social com Google (Set up social login with Google)
Integre o sistema de autenticação OAuth 2.0 do Google para habilitar o Login com Google, vinculação de contas e acesso seguro às APIs do Google.
Este guia assume que você tem um entendimento básico dos Conectores (Connectors) do Logto. Para aqueles que não estão familiarizados, consulte o guia de Conectores para começar.
Primeiros passos
O conector do Google permite a integração OAuth 2.0 para que seu aplicativo possa:
- Adicionar autenticação "Login com Google"
- Vincular contas de usuário a identidades do Google
- Sincronizar informações do perfil do usuário do Google
- Acessar APIs do Google por meio do armazenamento seguro de tokens no Logto Secret Vault para tarefas de automação (por exemplo, editar Google Docs, gerenciar eventos do Calendar em seu app)
Para configurar esses recursos de autenticação, crie primeiro um conector do Google no Logto:
- Vá para Logto console > Conector > Conector social.
- Clique em Adicionar conector social, selecione Google, clique em Próximo e siga o tutorial passo a passo para concluir a integração.
Etapa 1: Crie um projeto na Plataforma de Autenticação do Google
Antes de usar o Google como um provedor de autenticação, você deve configurar um projeto no Google Cloud Console para obter credenciais OAuth 2.0. Se você já possui um projeto, pode pular esta etapa.
- Acesse o Google Cloud Console e faça login com sua conta Google.
- Clique no botão Selecionar um projeto na barra de menu superior e, em seguida, clique em Novo projeto para criar um projeto.
- No seu projeto recém-criado, navegue até APIs e serviços > Tela de consentimento OAuth para configurar seu aplicativo:
- Informações do aplicativo: Insira o Nome do aplicativo e o E-mail de suporte que serão exibidos na página de consentimento
- Público (Audience): Selecione o tipo de público preferido:
- Interno - Apenas para usuários do Google Workspace dentro da sua organização
- Externo - Para qualquer usuário Google (requer verificação para uso em produção)
- Informações de contato: Forneça endereços de e-mail para que o Google possa notificá-lo sobre quaisquer alterações em seu projeto
- Marque Concordo com as políticas do Google para finalizar a configuração básica
- Opcionalmente, vá até a seção Branding para editar as informações do produto e fazer upload do Logo do aplicativo, que aparecerá na tela de consentimento OAuth para ajudar os usuários a reconhecerem seu app.
Se você escolher o tipo de público Externo, será necessário adicionar usuários de teste durante o desenvolvimento e publicar seu aplicativo para uso em produção.
Etapa 2: Crie credenciais OAuth 2.0
Navegue até a página de Credenciais no Google Cloud Console e crie credenciais OAuth para seu aplicativo.
- Clique em Criar credenciais > ID do cliente OAuth.
- Selecione Aplicativo da Web como o tipo de aplicativo.
- Preencha o Nome do seu cliente OAuth. Isso ajuda a identificar as credenciais e não é exibido para os usuários finais.
- Configure os URIs autorizados:
- Origens JavaScript autorizadas: Adicione a origem da sua instância Logto (exemplo:
https://seu-dominio-logto.com
) - URIs de redirecionamento autorizados: Adicione o Callback URI do Logto (copie isso do seu conector Google do Logto)
- Origens JavaScript autorizadas: Adicione a origem da sua instância Logto (exemplo:
- Clique em Criar para gerar o cliente OAuth.
Etapa 3: Configure o conector Logto com as credenciais
Após criar o cliente OAuth, o Google exibirá um modal com suas credenciais:
- Copie o Client ID e cole no campo
clientId
no Logto - Copie o Client secret e cole no campo
clientSecret
no Logto - Clique em Salvar e Concluir no Logto para conectar seu sistema de identidade ao Google
Mantenha seu client secret seguro e nunca o exponha em código do lado do cliente. Se for comprometido, gere um novo imediatamente.
Etapa 4: Configure os escopos (Scopes)
Os escopos definem as permissões que seu aplicativo solicita aos usuários e controlam quais dados seu app pode acessar das contas Google deles.
Configure os escopos no Google Cloud Console
- Navegue até APIs e serviços > Tela de consentimento OAuth > Escopos.
- Clique em Adicionar ou remover escopos e selecione apenas os escopos que seu app necessita:
- Autenticação (Authentication) (Obrigatório):
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
openid
- Acesso à API (Opcional): Adicione quaisquer escopos adicionais necessários para seu app (ex: Drive, Calendar, YouTube). Navegue pela Biblioteca de APIs do Google para encontrar serviços disponíveis. Se seu app precisar acessar APIs do Google além das permissões básicas, primeiro ative as APIs específicas que seu app usará (ex: Google Drive API, Gmail API, Calendar API) na Biblioteca de APIs do Google.
- Autenticação (Authentication) (Obrigatório):
- Clique em Atualizar para confirmar a seleção.
- Clique em Salvar e continuar para aplicar as alterações.
Configure os escopos no Logto
Escolha uma ou mais das seguintes abordagens conforme sua necessidade:
Opção 1: Nenhum escopo extra de API necessário
- Deixe o campo
Scopes
em branco no seu conector Google do Logto. - Os escopos padrão
openid profile email
serão solicitados para garantir que o Logto possa obter corretamente as informações básicas do usuário.
Opção 2: Solicitar escopos adicionais no login
- Insira todos os escopos desejados no campo Scopes, separados por espaços.
- Quaisquer escopos listados aqui substituem os padrões, então sempre inclua os escopos de autenticação:
https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid
. - Use URLs completas dos escopos. Exemplo:
https://www.googleapis.com/auth/calendar.readonly
.
Opção 3: Solicitar escopos incrementais posteriormente
- Após o usuário fazer login, você pode solicitar escopos adicionais sob demanda reiniciando um fluxo de autorização social federado e atualizando o conjunto de tokens armazenados do usuário.
- Esses escopos adicionais não precisam ser preenchidos no campo
Scopes
do seu conector Google do Logto e podem ser obtidos através da Social Verification API do Logto.
Seguindo essas etapas, seu conector Google do Logto solicitará exatamente as permissões que seu app precisa — nem mais, nem menos.
Se seu app solicitar esses escopos para acessar a Google API e realizar ações, certifique-se de habilitar Armazenar tokens para acesso persistente à API no conector Google do Logto. Veja a próxima seção para detalhes.
Etapa 5: Personalize os prompts de autenticação
Configure Prompts no Logto para controlar a experiência de autenticação do usuário. Prompts é um array de strings que especifica o tipo de interação do usuário necessária:
none
- O servidor de autorização não exibe telas de autenticação ou consentimento. Retorna um erro se o usuário ainda não estiver autenticado e não tiver consentimento pré-configurado para os escopos solicitados. Use isso para verificar autenticação e/ou consentimento existentes.consent
- O servidor de autorização solicita consentimento do usuário antes de retornar informações ao cliente. Necessário para habilitar acesso offline para acesso à Google API.select_account
- O servidor de autorização solicita ao usuário que selecione uma conta. Isso permite que usuários com várias contas Google escolham qual conta usar para autenticação.
Etapa 6: Configurações gerais
Aqui estão algumas configurações gerais que não bloqueiam a conexão com o Google, mas podem afetar a experiência de autenticação do usuário final.
Sincronizar informações do perfil
No conector Google, você pode definir a política para sincronizar informações do perfil, como nomes de usuário e avatares. Escolha entre:
- Sincronizar apenas no cadastro: As informações do perfil são buscadas uma vez quando o usuário faz login pela primeira vez.
- Sempre sincronizar no login: As informações do perfil são atualizadas toda vez que o usuário faz login.
Armazenar tokens para acessar APIs do Google (Opcional)
Se você deseja acessar APIs do Google e realizar ações com autorização do usuário (seja via login social ou vinculação de conta), o Logto precisa obter escopos específicos de API e armazenar tokens.
- Adicione os escopos necessários na configuração da tela de consentimento OAuth do Google Cloud Console e no conector Google do Logto.
- Habilite Armazenar tokens para acesso persistente à API no conector Google do Logto. O Logto armazenará com segurança os tokens de acesso e atualização do Google no Cofre de Segredos.
- Para garantir que tokens de atualização sejam retornados, configure seu conector Google do Logto da seguinte forma:
- Defina Prompts para incluir
consent
- Habilite Acesso offline
- Defina Prompts para incluir
Você não precisa adicionar offline_access
no campo Scope
do Logto — fazer isso pode causar um erro. O Google usa access_type=offline
automaticamente quando o acesso offline está habilitado.
Etapa 7: Habilite o Google One Tap (Opcional)
Google One Tap é uma maneira segura e simplificada de permitir que usuários façam login em seu site com a conta Google usando uma interface popup.
Depois de configurar o conector Google, você verá um card para o Google One Tap na página de detalhes do conector. Habilite o Google One Tap ativando o interruptor.
Opções de configuração do Google One Tap
- Selecionar credencial automaticamente se possível - Autentica automaticamente o usuário com a conta Google se certas condições forem atendidas
- Cancelar o prompt se o usuário clicar/tocar fora - Fecha o prompt do Google One Tap se o usuário clicar ou tocar fora do prompt. Se desabilitado, o usuário deve clicar no botão de fechar para dispensar o prompt.
- Habilitar UX aprimorado do One Tap em navegadores ITP - Habilita a experiência aprimorada do Google One Tap em navegadores com Intelligent Tracking Prevention (ITP). Consulte esta documentação para mais informações.
Certifique-se de adicionar seu domínio na seção Origens JavaScript autorizadas na configuração do seu cliente OAuth. Caso contrário, o Google One Tap não poderá ser exibido.
Limitações importantes com o Google One Tap
Se você habilitar Armazenar tokens para acesso persistente à API junto com o Google One Tap, você não receberá automaticamente um token de acesso ou os escopos solicitados.
O login com Google One Tap (diferente do botão padrão "Entrar com Google") não emite um token de acesso OAuth. Ele retorna apenas um token de ID (um JWT assinado) que verifica a identidade do usuário, mas não concede acesso à API.
Para acessar APIs do Google com usuários do Google One Tap, você pode usar a Social Verification API do Logto para reiniciar um fluxo de autorização social federado após o usuário fazer login com o Google One Tap. Isso permite solicitar escopos adicionais conforme necessário e atualizar o conjunto de tokens armazenados do usuário, sem exigir que os escopos sejam pré-preenchidos no conector Google do Logto. Essa abordagem permite autorização incremental, de modo que os usuários só são solicitados para permissões extras quando seu app realmente precisa delas.
Saiba mais sobre as limitações do Google One Tap na documentação oficial.
Etapa 8: Teste e publique seu aplicativo
Para aplicativos internos
Se o tipo de Público (Audience) no Google estiver definido como Interno, seu app estará disponível apenas para usuários do Google Workspace dentro da sua organização. Você pode testar usando qualquer conta da sua organização.
Para aplicativos externos
Se o tipo de Público (Audience) for Externo:
- Durante o desenvolvimento: Navegue até Tela de consentimento OAuth > Usuários de teste e adicione os endereços de e-mail dos usuários de teste. Apenas esses usuários poderão fazer login com seu app.
- Para produção: Clique em Publicar aplicativo na seção da tela de consentimento OAuth para disponibilizá-lo para qualquer pessoa com uma Conta Google.
Aplicativos com escopos sensíveis ou restritos podem exigir verificação do Google antes de serem publicados. Esse processo pode levar várias semanas.
Utilizar o conector do Google
Depois de criar um conector do Google e conectá-lo ao Google, você pode incorporá-lo aos fluxos de experiência do usuário final. Escolha as opções que correspondem às suas necessidades:
Habilitar "Login com Google"
- No Logto Console, vá para Experiência de login > Cadastro e login.
- Adicione o conector do Google na seção Login social para permitir que os usuários se autentiquem com o Google.
- Opcionalmente, habilite o Google One Tap nas páginas de login e cadastro para uma experiência de autenticação mais fluida.
Saiba mais sobre a experiência de login social.
Vincular ou desvincular uma conta Google
Use a Account API para construir um Centro de Conta personalizado em seu app que permita aos usuários autenticados vincular ou desvincular sua conta Google. Siga o tutorial da Account API
É permitido habilitar o conector do Google apenas para vinculação de contas e acesso à API, sem habilitá-lo para login social.
Acessar APIs do Google e realizar ações
Seu aplicativo pode recuperar tokens de acesso do Google armazenados no Secret Vault para chamar APIs do Google e automatizar tarefas de backend (por exemplo, gerenciar arquivos do Google Drive, criar eventos no Calendar ou enviar e-mails pelo Gmail). Consulte o guia sobre como recuperar tokens armazenados para acesso à API.
Gerenciar a identidade Google do usuário
Após um usuário vincular sua conta Google, administradores podem gerenciar essa conexão no Logto Console:
- Navegue até Logto console > Gerenciamento de usuários e abra o perfil do usuário.
- Em Conexões sociais, localize o item Google e clique em Gerenciar.
- Nesta página, os administradores podem gerenciar a conexão Google do usuário, ver todas as informações de perfil concedidas e sincronizadas da conta Google e verificar o status do token de acesso.
Referência
Google Identity: Configurando OAuth 2.0
Google Identity Services (One Tap)
Google Cloud Console