Aqui está como configurar o Discourse para permitir login e registro com o SAML do OneLogin.
Configurar o OneLogin
Criar conta no OneLogin
Acesse OneLogin e crie uma conta.
Criar novo app: SAML Test Connector (IdP w/attr)
Do seu painel, crie um novo aplicativo.
Pesquise por SAML Test Connector (IdP w/attr)
Configurar aplicativo
Vamos supor que a URL da sua instância do Discourse seja http://discourse.example.com. Vamos configurá-la.
Mude para a aba Configuration (Configuração) e preencha estes detalhes:
- Audience (Público):
http://discourse.example.com - Recipient (Destinatário):
http://discourse.example.com/auth/saml/callback - ACS (Consumer) URL Validator:
^http:\\/\\/discourse\\.example\\.com\\/auth\\/saml\\/callback\\/$ - ACS (Consumer) URL:
http://discourse.example.com/auth/saml/callback
Copiar informações do certificado e endpoint SAML 2.0
Mude para a aba SSO.
Clique no link View Details (Ver Detalhes) sob o certificado e copie a SHA fingerprint (impressão digital SHA) e o X.509 Certificate. Anote-os; eles serão usados ao configurar o aplicativo do Discourse.
Copie e anote a URL do SAML 2.0 Endpoint (HTTP).
Configurar o Discourse
Instalar o plugin discourse-saml
Siga este guia para instalar o plugin discourse-saml.
Configurar o plugin discourse-saml
O plugin pode ser configurado de duas formas:
Opção 1: Configurações do Site (recomendado)
Após instalar e reconstruir, acesse o painel de administração do Discourse e navegue até Admin → Plugins → SAML. Ative a configuração saml_enabled e configure o seguinte:
- saml_target_url: a
SAML 2.0 Endpoint URLcopiada da aba SSO do OneLogin - saml_cert_fingerprint: a
SHA fingerprintcopiada da aba SSO do OneLogin → seção Certificate - saml_cert: o
X.509 Certificatecopiado da aba SSO do OneLogin → seção Certificate - saml_log_auth: ative para depuração
Opção 2: Variáveis de Ambiente
Alternativamente, você pode configurar o plugin via variáveis de ambiente em app.yml. Note que, quando as variáveis de ambiente são usadas, todas as configurações de site SAML ficam ocultas na interface administrativa.
Edite app.yml
cd /var/discourse
vim containers/app.yml
e adicione estas variáveis na seção env:
DISCOURSE_SAML_TITLE: "Example SAML"
DISCOURSE_SAML_TARGET_URL: {SAML 2.0 Endpoint URL}
DISCOURSE_SAML_LOG_AUTH: "true"
DISCOURSE_SAML_CERT_FINGERPRINT: {SHA fingerprint}
DISCOURSE_SAML_CERT: {X.509 Certificate sem quebras de linha}
- substitua {SAML 2.0 Endpoint URL} pela
SAML 2.0 Endpoint URLcopiada da aba SSO do OneLogin - substitua {SHA fingerprint} pela
SHA fingerprintcopiada da aba SSO do OneLogin → seção Certificate - substitua {X.509 Certificate sem quebras de linha} pelo
X.509 Certificatecopiado da aba SSO do OneLogin → seção Certificate; note que não deve haver quebras de linha e remova os marcadores de início e fim
Reconstruir aplicativo
Para que as alterações tenham efeito, reconstrua o aplicativo.
cd /var/discourse
./launcher rebuild app
Pronto! 
Agora você deve conseguir fazer login usando o SAML do OneLogin.




