Procurando Login Slack / SSO para Discourse

É possível adicionar o Slack como opção de SSO no Discourse? Vi um tópico antigo sobre isso (linkado abaixo), mas ele foi excluído ou tornado privado. Qualquer sugestão é bem-vinda. Sei que existe integração de chat, mas gostaria de permitir que usuários do Slack também façam login com suas contas. Obrigado.

O Slack oferece SAML para SSO, mas apenas para clientes dos planos Plus ou Enterprise:

Você está em um desses níveis?

Um plugin SAML oficial já existe, aqui:

Esse artigo é sobre como usar o Slack como cliente de SSO.
Existe a opção “Entrar com Slack”, que usa OAuth2: Using Sign in with Slack | Slack Developer Docs, embora eu nunca tenha tentado.

Meu objetivo é adicionar Screen Shot 2020-04-22 at 2.56.25 PM

A documentação de entrar com Slack parece perfeita como uma excelente nova adição para nosso Discourse. Já ativei a integração de chat, o que também é ótimo. Estou um pouco perdido sobre como adicionar esse botão como uma opção personalizada com o Discourse tests-pass. Uma vez resolvido, esse login social combinará bem com outros logins sociais semelhantes, como Github e Patreon.

Seguindo a documentação, criei um aplicativo com acesso OAuth no Slack… agora estou nesta etapa para criar o botão: https://api.slack.com/docs/sign-in-with-slack#generator.

O Slack está exibindo:

App ID
Client ID
Signing Secret
Client Secret
Verification Token
Oauth Access Token
redirect url adicionado como https://example.domain.com/slack/auth

Opções que vejo no Discourse são:

enable sso provider
sso url – URL do ponto de extremidade de login único (deve incluir http:// ou https://)
sso secret – String secreta usada para autenticar criptograficamente as informações de SSO, certifique-se de que tenha 10 caracteres ou mais

Tentando configurar com esta documentação:

O Slack suporta:
identity.avatar - Visualizar o avatar do usuário no Slack
identity.basic - Visualizar informações sobre a identidade do usuário
identity.email - Visualizar o endereço de e-mail do usuário
identity.team - Visualizar o nome do espaço de trabalho do Slack do usuário

Seria bom exibir o avatar do usuário do Slack e, possivelmente, o nome do espaço de trabalho também. Parece que acessar o e-mail deles também seria útil, já que isso é criticamente importante ao usar o Discourse.

Certo, parece que ativar o SSO naquele guia irá substituir completamente todas as outras configurações de login/registro.

Consegui fazer o SSO do Slack funcionar usando:
sso url = https://slack.com/oauth/v2/authorize?user_scope=identity.basic&client_id=EXAMPLE
sso secret = Client Secret

Mas eu só quero adicioná-lo como um botão. Agradecemos sugestões sobre como implementar esse botão no Discourse! :+1:
Screen Shot 2020-04-22 at 2.56.25 PM

Agora estou investigando como adicionar o botão via

Ei, tenho tentado acompanhar e investigar isso. Alguma novidade sobre como isso funcionou para o seu Discourse?

Todas as peças estão lá, mas eu não consegui entender na época. Um tempo se passou e eu diria: vale a pena tentar! Use o painel de OAuth do Slack como administrador e tente adicioná-lo ao Discourse.