OpenID Connect e SSO

Quero usar o OpenID Connect (Keycloak) como solução de SSO com o Discourse como um dos clientes.

Tenho o plugin de autenticação OpenID Connect instalado e funcionando no Discourse, mas parece haver alguns aspectos do SSO que não estão sendo aplicados e não tenho certeza de até que ponto os recursos do SSO e deste plugin OIDC se sobrepõem.

De acordo com as dicas sobre estado de login sincronizado via SSO, deveria ser possível fazer login diretamente usando SSO com uma URL como fourm.example.com/session/sso, mas isso não parece estar disponível apenas com o plugin de autenticação OpenID Connect. Tentar também configurar as opções enable_sso e sso_url resultou em uma configuração quebrada.

Como se deve usar o OIDC com SSO?

No contexto do Discourse, “SSO” refere-se a este protocolo: Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) (estamos trabalhando para renomeá-lo para DiscourseConnect… pois no momento é super confuso!)

Para usar o OpenID Connect, não utilize enable_sso nem sso_url.

Se o OpenID Connect for o único método de login habilitado, enviar o usuário para /login deve iniciar o fluxo de autenticação.

Ok, obrigado. Isso significa que a autenticação padrão integrada (usuário/senha no Discourse) precisa ser desativada? Ou ela pode ser mantida como uma opção?

Cabe a você. Você pode controlá-lo usando a configuração enable_local_logins.

Se mantê-lo habilitado, ao acessar /login, o usuário será apresentado a uma escolha de opções de login. Se você o desabilitar, o openid-connect será iniciado imediatamente.