Verificação GitHub do Discourse

|||
-|-|-|
:discourse2: | Resumo | Verifica se um usuário possui uma conta GitHub específica
:hammer_and_wrench: | Link do Repositório | GitHub - discourse/discourse-github-verification: Verifies that a Discourse user is the owner of a Github account
:open_book: | Guia de Instalação | Como instalar plugins no Discourse

Funcionalidades

Este plugin permite que os usuários verifiquem que possuem uma conta GitHub específica. Isso é separado do login com GitHub. Ele simplesmente exibe um link para a conta GitHub de um usuário em seu cartão de usuário e perfil.

Uma nova aba (GitHub) é adicionada às preferências do usuário. Há um botão para conectar sua conta com o GitHub quando o usuário ainda não conectou sua conta. Se o usuário conectou sua conta, ele verá um link para sua conta GitHub e um botão para desconectar sua conta GitHub de seu perfil do Discourse.

Se um usuário tiver uma conta GitHub conectada, um link será exibido em seu cartão de usuário e perfil de usuário

O plugin adiciona um endpoint de API de administrador /github-verification/users.json, que retorna uma matriz de todos os usuários com uma conta GitHub conectada. A resposta se parece com isto:

[
  {
    "id": 1,
    "username": "markvanlan",
    "github_username": "markvanlan"
  }
]

Configuração

Configurar aplicativo OAuth do GitHub

  • Siga as instruções do GitHub sobre como criar um aplicativo OAuth. Existem duas configurações importantes para configurar nas configurações do aplicativo OAuth

    • Homepage URL - a página inicial da sua instância do Discourse (por exemplo, https://meta.discourse.org)

    • Authorization callback URL - a página inicial da sua instância do Discourse mais “/github-verification” (por exemplo, https://meta.discourse.org/github-verification)

Configurar configurações do Discourse

As configurações podem ser encontradas em /admin/site_settings/category/all_results?filter=discourse_github_verification

  • discourse github verification enabled - Habilita o plugin verificando no painel de configurações do site (/admin/site_settings/category/all_results?filter=discourse_github_verification).

  • discourse github verification client id - ID do cliente do seu aplicativo OAuth do GitHub

  • discourse github verification client secret - Segredo do cliente do seu aplicativo OAuth do GitHub

Ressalva

Este plugin não leva em consideração a configuração existente de login com GitHub. O Discourse oferece suporte a isso por padrão, mas o plugin discourse-github-verification não usa as configurações github client id e github client secret existentes de um site. No caso de estarem preenchidas, poderíamos provavelmente usá-las em vez de duplicar as configurações. O plugin também não sabe se um usuário já fez login no Discourse com o GitHub. Seria bom detectar isso automaticamente.


Obrigado a Sailpoint por patrocinar este trabalho e torná-lo open-source :tada:

11 curtidas

Para quem estiver se perguntando como este plugin pode ser útil, nós o desenvolvemos para funcionar em conjunto com o plugin de gamificação.

Permitimos que nossos usuários ganhem pontos em nosso programa de contribuintes contribuindo para nossos repositórios do GitHub. Fizemos este plugin para que pudéssemos garantir que o usuário realmente possuía a conta do GitHub que disse ter. Quando um evento de contribuição ocorre no GitHub, consultamos nossa lista de usuários com contas do GitHub conectadas e vemos se a conta do GitHub existe no fórum. Se sim, damos a eles os pontos designados.

3 curtidas