Conectar o login do GitHub

Para que o cliente se cadastre com uma conta GitHub, primeiro você registra o seu serviço no GitHub e recebe dois valores. São o Client ID e o Client secret.

Esta página apresenta a ordem para obter esses dois valores. O modo de colocar na WEEGLOO os valores recebidos está em Colocar na WEEGLOO os valores recebidos.

O endereço a copiar primeiro

Quando o cliente termina o login no GitHub, o GitHub devolve esse resultado para um endereço definido. Você precisa registrar esse endereço no GitHub, então copie-o primeiro. Você vai colá-lo na etapa 1.

Escolha o seu Space abaixo para obter o endereço com o identificador já preenchido.

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

Se preferir preencher por conta própria, coloque no lugar de {spaceId} o identificador do seu Space. Abra esse Space no estúdio de conteúdo e olhe a barra de endereços do navegador: o valor que vem depois de /spaces/ é o identificador.

Esse endereço não é o endereço do seu site. É o lugar onde a WEEGLOO recebe o resultado do login. Por isso ele já fica definido agora, mesmo que você ainda não tenha feito o seu site. Se você ativou o GitHub no estúdio de conteúdo, o mesmo endereço aparece no Step 1, então você também pode copiá-lo de lá.

Obter os dois valores 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 OAuth que aparece nas telas é o nome do método que permite fazer login com uma conta GitHub. Os dois valores ficam dentro do único app que você registra aqui.

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

  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 cliente vai ver (por exemplo, Guarda-Roupa Aconchegante).

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

  6. No campo Redirect URI, cole o endereço que você copiou em O endereço a copiar primeiro.

  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

Se você ainda não fez o seu site, escreva em Homepage URL o endereço que vai usar. Você pode corrigi-lo depois. Application description é opcional e, se você escrever algo, o cliente vê exatamente como você escreveu, então escreva uma frase que o cliente vai ler.

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. Dos dois valores, 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.

    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

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.

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 cliente 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 cliente vê uma tela de aviso exibida pela WEEGLOO. Nela está escrito, no idioma do cliente, 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 cliente.

Quem resolve isso é o cliente. Quando o cliente abre Public profile nas configurações da conta GitHub (https://github.com/settings/profile), 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 cliente saiba disso antes de ficar travado.

Colocar na WEEGLOO os valores recebidos

Agora você tem os dois valores em mãos. 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 os valores, 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.