Discourse com Keycloak para SSO

Existe alguma maneira de configurar o Keycloak como provedor de autenticação para o Discourse? Preciso que isso funcione de forma SSO, para que meus usuários que têm contas gerenciadas pelo Keycloak tenham acesso automático e já estejam logados na instância do Discourse também.

Li sobre a configuração OpenID e as pessoas dizem que, com essa configuração, os usuários precisam fazer login separadamente e criar uma conta separada no Discourse. Isso não é exatamente o que estou procurando.

Há algo que eu possa ou deva ler sobre o tema?
Minha intenção é ter o Discourse e o Keycloak configurados em contêineres Docker compostos separados, e precisaria de uma autenticação perfeita entre eles, para que eu pudesse criar postagens no Discourse usando meu backend de API em nome do usuário que está logado no meu aplicativo front-end em JS, com os dados do usuário gerenciados pelo Keycloak.

A solução mais fácil que encontrei para usuários com o Keycloak como seu IAM corporativo é configurar o Discourse SAML:

A configuração do Keycloak SAML é bastante direta:

Alternativamente, você também pode conectar via OpenID Connect:

Para permitir que os usuários façam login automaticamente com SAML, você precisará desabilitar todos os outros métodos de autenticação, incluindo o login local. Certifique-se de que sua conta de administrador já tenha uma conta correspondente no Keycloak, caso contrário, você ficará bloqueado fora do painel de administração.

Interessante, obrigado.
Desabilitar todos os outros métodos de login não é realmente uma opção. Quero continuar usando o Keycloak como principal meio de autenticação no meu aplicativo, mas, adicionalmente, permitir que os usuários também acessem o Discourse.
Isso significaria que meus usuários precisariam poder se registrar com login/senha ou qualquer rede social que desejarem e obter uma conta que funcione tanto para o meu aplicativo quanto para o Discourse.
Isso é possível?

PS. Apenas relendo, você quer dizer desabilitar os métodos de autenticação no Keycloak ou no Discourse?

A autenticação social ou por nome de usuário/senha teria que ser feita via Keycloak. Além disso, acabei de perceber que ela não faz o login automático dos usuários. O que ela faria seria permitir que os usuários se autenticassem diretamente no Keycloak ao clicar no botão de login.

Então, digamos que eu queira, inicialmente, acessar tudo via API. Ainda será possível?
O login é parte da interface do usuário (UI) do Discourse.

Digamos que um novo usuário se registre no meu servidor Keycloak e eu tenha essa integração SAML. O usuário está logado no meu aplicativo web em JS e eu tenho o token dele. Será que consigo chamar a API do Discourse usando apenas esse token?
Ou seja, se eu quiser ter uma interface personalizada para criar Posts a partir do meu aplicativo web.

Pelo que sei, você pode acessar todos os endpoints da API usando chaves de API.

Você deve conseguir, nada impede que você faça isso.

@AAverin você encontrou uma solução?

@AAverin você revisou isso