Conectar o login do GitHub

Para que os usuários do seu serviço se cadastrem com uma conta GitHub, você registra o seu serviço no GitHub e recebe o Client ID e o Client secret.

Esta página apresenta a ordem para obter o Client ID e o Client secret. O modo de colocar na WEEGLOO os dois valores recebidos está em Colocar o Client ID e o Client secret na WEEGLOO.

Obter o Client ID e o Client secret no GitHub

Depois de entrar no GitHub, siga em ordem as duas etapas abaixo. O que você faz aqui não tem custo.

1

Registrar o OAuth App

O Client ID e o Client secret ficam dentro do único app que você registra aqui.

  1. Abra a tela de configurações de desenvolvedor (https://github.com/settings/developers (abre em uma nova aba)).

  2. No menu à esquerda, clique em OAuth Apps.

  3. Clique em New OAuth app.

    Tela OAuth Apps. No menu à esquerda estão GitHub Apps, OAuth Apps e Personal access tokens, a lista está vazia e aparece o botão New OAuth app

  4. Em Application name, digite o nome que o usuário vai ver (por exemplo, Guarda-Roupa Aconchegante).

  5. Em Homepage URL, digite o endereço do seu site (por exemplo, https://pogeun-otjang.com).

    Se você ainda não tem o site, escreva o endereço que vai usar. Você pode corrigi-lo depois. Application description, que está no mesmo formulário, é opcional e, se você escrever algo, o usuário vê exatamente como você escreveu, então escreva uma frase que o usuário vai ler.

  6. No campo Redirect URI, cole o endereço abaixo. Ao escolher o seu Space, o identificador é preenchido.

    Space
    https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/github

    Se você não sabe qual é o seu Space e entregou a integração a um agente de IA, há também o caminho de perguntar ao agente. Peça no chat "me diga o endereço de redirecionamento para registrar no login do GitHub" e você recebe o endereço já completo.

  7. Clique em Register application.

    Formulário Register a new OAuth app. Application name está com "Guarda-Roupa Aconchegante", Homepage URL com o endereço do site e Redirect URI com o endereço da WEEGLOO

2

Copiar o Client ID e o Client secret

Ao clicar em Register application, abre-se a tela de configuração do app que você acabou de registrar. O Client ID já aparece aqui, e o client secret você cria agora clicando em um botão.

  1. Copie o valor escrito em Client ID.

  2. Clique em Generate a new client secret, à direita do título Client secrets.

    Tela de configuração do app logo após o registro. O valor do Client ID aparece e, à direita do título Client secrets, está o botão Generate a new client secret

  3. Clique no ícone de cópia à direita do valor criado para copiar o client secret.

    Depois de sair desta tela, o client secret não pode ser visto de novo

    O Client ID continua nesta tela, então você pode vê-lo de novo a qualquer momento. Com o client secret não é assim. Se você perder o client secret, crie um novo em Generate a new client secret e coloque de novo na WEEGLOO o valor recém-recebido. O client secret é um valor secreto, exatamente como o nome diz. Não o conte a ninguém e não o escreva em um lugar público.

    Tela logo após a criação do secret. Junto com o aviso azul aparecem o valor do Client secret e o ícone de cópia

O e-mail precisa estar público para o login funcionar

O login com GitHub tem uma condição. A conta GitHub que faz o login precisa estar com o e-mail público.

Quando o usuário faz login com o GitHub, a WEEGLOO também recebe o e-mail público dessa conta e o guarda no membro. Em um mesmo Space, um e-mail só pode se cadastrar uma vez. Em uma conta que não indicou um e-mail público, esse valor não é enviado, e então o cadastro para aí.

Quando isso acontece, o usuário vê uma tela de aviso exibida pela WEEGLOO. Nela está escrito, no idioma do usuário, que não foi possível obter o e-mail e o que fazer, e há também um botão para voltar ao seu site.

Tela de aviso da WEEGLOO informando que não foi possível obter o e-mail. Junto com a explicação do motivo há o botão Voltar ao início

Nesse caso, o resultado do login não chega até o seu site. Por isso o código do seu site não consegue nem perceber essa situação nem tratá-la no lugar do usuário.

Esse problema precisa ser resolvido pelo próprio usuário. Quando o usuário abre Public profile nas configurações da conta GitHub (https://github.com/settings/profile (abre em uma nova aba)), há o item Public email. Ao escolher ali o e-mail a exibir, o login passa a partir da próxima vez. Em uma conta que ainda não escolheu, aparece apenas Select a verified email to display.

Tela de configurações do perfil do GitHub. No menu à esquerda, Public profile está selecionado e, na lista suspensa abaixo de Public email, aparece Select a verified email to display

O que você pode fazer no seu site é escrever essa condição com antecedência no lugar onde se faz login com o GitHub, para que o usuário saiba disso antes de ficar travado.

Colocar o Client ID e o Client secret na WEEGLOO

Agora o Client ID e o Client secret estão prontos. Daqui em diante o caminho se divide conforme o modo como você vinha trabalhando até aqui.

Se você estava configurando diretamente no estúdio de conteúdo, siga assim.

  1. Volte para ativar o login social em Login de membros do serviço.
  2. Ative o GitHub.
  3. Coloque o Client ID no campo Client ID do Step 2.
  4. Coloque o Client secret no campo Client Secret.
  5. Clique em Guardar.

Se você entregou a integração a um agente de IA e recebeu a orientação de ir buscar o Client ID e o Client secret, cole no chat os dois valores recebidos exatamente como estão e siga com o que estava fazendo. O restante da configuração o agente trata em seguida.

Próximos passos

  • Login de membros do serviço: coloca no estúdio de conteúdo os valores recebidos e conclui o restante da configuração do login de membros.
  • Papéis e permissões de membros: cria o ServiceUserRole que define o que o membro cadastrado pode ver e usar.
  • Auth API: trata de especificações técnicas como o formato das requisições, necessárias para conectar o login ao código do seu próprio site.