Plugin SAML no Discourse Auto-Hospedado

A página do Plugin de Autenticação SAML aqui indica que a “Autenticação SAML está disponível nos planos de hospedagem Enterprise.”

Isso significa que eu não poderia usar a Autenticação SAML na minha versão gratuita auto-hospedada do Discourse? Idealmente, eu gostaria de usar a autenticação do Azure AD para minha instância do Discourse.

Você pode usá-lo. O plugin está disponível em GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub.

Essa mensagem refere-se ao nosso hospedagem. Isso significa que você não pode usar o plugin SAML em nossos planos padrão ou business.

Dito isso, você não deve precisar do SAML para o Azure-AD. Veja Discourse OpenID Connect (OIDC) para uma configuração muito mais simples. Há notas específicas do Azure-AD no final.

Então, todos os plugins listados no Diretório de Plugins podem ser usados na minha instância gratuita do Discourse auto-hospedada?

Com certeza! E há muitos mais plugins #oficiais do que os listados no site, que você pode usar gratuitamente. Não deixe de conferir também o #componente-de-tema.

Obrigado novamente pelas informações adicionais.

Portanto, o objetivo é que meus usuários internos utilizem o Azure AD para autenticação/registro e que usuários externos possam se registrar por meio de uma conta local ou outros plugins de registro de conta. É por isso que o SAML foi minha primeira ideia.

Seria possível limitar o plugin de autenticação OpenID Connect ao Azure AD e restringi-lo apenas aos usuários internos?

OpenID Connect, assim como SAML, são “provedores de autenticação”. Ao configurar um deles no seu site, os usuários, por padrão, poderão escolher entre login local ou um provedor de autenticação. A Meta é um bom exemplo: você tem a opção de login local, Facebook, Google, GitHub, etc.

No seu caso, os usuários teriam a escolha entre local e OpenID, ou local e SAML. Você pode escolher a que preferir e que for mais fácil de configurar para sua infraestrutura.

Você pode fazer isso com qualquer um dos plugins, pois quem pode fazer login será controlado pelo Azure AD, e não pelo plugin que você usa para se conectar ao Azure.

Seria possível escondê-lo de usuários externos, no entanto? Eu não gostaria que nossos clientes tentassem e pensassem que poderiam fazer login usando o Azure AD.

E quanto a uma página de login/registro separada que só seria conhecida por usuários internos, onde a autenticação via Azure AD seria a única opção?

Você pode ocultar o link de login via CSS, assim nenhum usuário poderá vê-lo. Em seguida, você pode compartilhar (ou publicar em um site interno) um link direto para o login do OpenID ou SAML para seus usuários internos. Como os usuários não estão logados quando acessam a página de login, não há como saber se são internos ou não.

Você também pode alterar o rótulo do botão para tentar evitar confusão. Por exemplo, na imagem abaixo, rotulamos o botão para “usuários internos” como Discourse Staff. Se alguém que não seja da Discourse Staff tentar usá-lo, que assim seja:

Joshua, eu realmente agradeço sua assistência rápida e informativa. Muito obrigado e fique seguro!