Configurar login do Google para Discourse

:bookmark: Este guia explica como configurar a integração de login do Google para seu site Discourse, configurando as credenciais OAuth2 no Google Cloud Console.

:person_raising_hand: Nível de usuário necessário: Administrador

Visão Geral

O login do Google permite que os usuários façam login em seu site Discourse usando suas contas do Google. Este guia o guiará através de:

  1. Criação de um projeto do Google Cloud
  2. Configuração do consentimento OAuth
  3. Configuração das credenciais
  4. Habilitação do login do Google no Discourse

Criar um projeto do Google Cloud

  1. Navegue para https://console.developers.google.com
  2. Clique no botão de seleção de projeto no canto superior esquerdo
  3. Clique em “Novo Projeto”

  1. Insira um nome de projeto e localização opcional.
  2. Clique em “Criar”

:information_source: Se você vir algum erro após criar o projeto, atualize a página usando Ctrl+F5.

Configurar a tela de consentimento OAuth

  1. Navegue de volta para https://console.developers.google.com e selecione seu novo projeto, caso ainda não esteja selecionado.
  2. Navegue para “Tela de consentimento do OAuth” no painel esquerdo. Você também pode usar o menu superior esquerdo do Google Cloud para selecionar “APIs e Serviços” → “Tela de consentimento do OAuth”.

  1. Clique em “Começar”
  2. Em “Informações do aplicativo”, insira um nome para o aplicativo e selecione um e-mail de suporte ao usuário.

  1. Selecione o público “Externo”

  1. Em seguida, insira um e-mail de notificação
  2. Finalmente, aceite a Política de Dados do Usuário de Serviços de API e clique em “Criar”

Configurar credenciais

  1. Navegue para a tela “APIs e Serviços” → “Credenciais”
  2. Clique em “Criar credenciais” e selecione “ID do cliente OAuth”

  1. Configure o cliente OAuth:
  • Selecione “Aplicativo da Web” como Tipo de Aplicativo e dê um Nome
  • Em Origens JavaScript Autorizadas, adicione o URL base do seu site (incluindo https://)
  • Adicione seu URL de retorno de chamada em URIs de redirecionamento autorizados: https://your-discourse-site.com/auth/google_oauth2/callback
  • Clique em “Criar”

Clique no ID do Cliente OAuth:

Copie o ClientID e o Client Secret para adicionar ao seu administrador do Discourse:

Configurar as configurações do Discourse

  1. Nas configurações de administrador do seu Discourse, em “Login e autenticação”
  • Habilite a configuração enable google oauth2 logins
  • Insira seu google oauth2 client id
  • Insira seu google oauth2 client secret

Verificar e publicar

Teste a integração adicionando um usuário com um endereço de e-mail do Google e confirme se você pode fazer login no Discourse usando a opção “Fazer login com o Google”. Se você conseguir fazer login, a configuração está completa! :tada:

:warning: NOTA:

Anteriormente, uma etapa final era necessária - alterar o status do Projeto do Desenvolvedor do Google para production. Isso não parece mais ser necessário. Estamos deixando estas notas antigas aqui caso seja necessário.

Para tornar a integração publicamente disponível:

  • Mude o status para “Em produção”-
  • Conclua o processo de verificação do Google
  • Verifique a propriedade do site por meio do Google Search Console

Configuração adicional

Prompt do Google OAuth2

A configuração google oauth2 prompt controla o comportamento da tela de consentimento do Google durante o login. Opções disponíveis:

  • (em branco) — comportamento padrão do Google
  • none — nenhuma tela de consentimento ou seleção de conta mostrada
  • consent — sempre mostrar a tela de consentimento
  • select_account — sempre solicitar ao usuário que selecione uma conta

Login do Google Workspace (anteriormente G. Suite, Google Apps)

Para restringir o login a domínios específicos do Google Workspace:

  1. Em Administrador do Discourse -> Login e autenticação, localize a configuração de site google oauth2 hd
  2. Insira seu domínio do Google Workspace

Sincronização de grupo do Google Workspace

Você pode sincronizar automaticamente grupos do Google Workspace com o Discourse. Isso requer:

  1. Habilitar a configuração google oauth2 hd groups
  2. Definir google oauth2 hd para seu domínio do Workspace
  3. Inserir um e-mail de administrador do Workspace em google oauth2 hd groups service account admin email
  4. Colar suas credenciais JSON da conta de serviço do Google em google oauth2 hd groups service account json

A conta de serviço deve ter a delegação em todo o domínio habilitada e receber o escopo https://www.googleapis.com/auth/admin.directory.group.readonly. Consulte a documentação do Google sobre delegação em todo o domínio para obter instruções de configuração.

Solução de problemas

Se você encontrar problemas de login:

  • Verifique se o HTTPS está configurado corretamente
  • Verifique novamente todos os URIs de redirecionamento
  • Garanta que o certificado SSL do seu site seja válido
  • Confirme se todas as APIs necessárias do Google Cloud estão ativadas
  • Habilite google oauth2 verbose logging para obter logs detalhados de solicitação/resposta do OAuth2

Recursos relacionados

165 curtidas