Discourse SSO com OAuth2

Gostaria de configurar o SSO com o GitHub OAuth. Quando o usuário fizer login no meu site via GitHub, ele também deve ser logado no Discourse. Os comentários do Discourse estão incorporados no site.

Como faço para isso?

Para uma conexão OAuth2 com seu próprio site, você pode usar este plugin

“Login com GitHub” é nativo no Discourse, e você pode encontrar instruções de configuração aqui:

Ainda estou confuso.

Caso não tenha ficado claro, tenho:

Um site com OAuth do GitHub.
Um Discourse com OAuth do GitHub.

Nenhum deles possui outros métodos de login.
Quando um usuário faz login no meu site, ele também deve estar logado no Discourse.

O que estou perdendo é a conexão entre eles. Como faço para logá-lo no Discourse quando ele se autentica via OAuth do GitHub no meu site?

Quando alguém faz login no seu site, a única comunicação que ocorre é entre o GitHub e o seu site.

Ou seja:
O seu site chama o GitHub para verificar se um usuário existe em seu banco de dados de usuários.
O GitHub responde sim (ou não) e retorna os dados do usuário ou o token de autenticação conforme solicitado pelo seu site.
Agora, o usuário está logado no seu site.

Não há nenhuma interação com o Discourse nessa equação. O que você precisa aqui é de uma maneira de informar ao Discourse que o usuário em questão acabou de fazer login e também precisa ser logado no Discourse.

O que você precisa é de uma forma de enfileirar o login no Discourse junto com o login no seu site, para que o Discourse saiba quando um usuário fez login ou logout.

O Auth0 faz isso muito bem nativamente.
Outra opção é usar o Discourse como seu servidor SSO.

Obrigado pelas respostas!

Percebi que o plugin de autenticação que uso realmente opera via OAuth e gera um JWT. A solução discourse-jwt deve funcionar para mim, eu acho.