Así es como configurar Discourse para permitir el inicio de sesión y el registro con SAML de OneLogin.
Configurar OneLogin
Crear una cuenta en OneLogin
Ve a OneLogin y crea una cuenta.
Crear una nueva aplicación: SAML Test Connector (IdP w/attr)
Desde tu panel de control, crea una nueva aplicación.
Busca SAML Test Connector (IdP w/attr).
Configurar la aplicación
Supongamos que la URL de nuestra instancia de Discourse es http://discourse.example.com. Vamos a configurarla.
Cambia a la pestaña Configuration y completa los siguientes detalles:
- Audience:
http://discourse.example.com - Recipient:
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 información del certificado y el endpoint SAML 2.0
Cambia a la pestaña SSO.
Haz clic en el enlace View Details debajo del certificado y copia SHA fingerprint y X.509 Certificate. Anótalos, ya que se utilizarán al configurar la aplicación de Discourse.
Copia y anota la URL SAML 2.0 Endpoint (HTTP).
Configurar Discourse
Instalar el plugin discourse-saml
Sigue esta guía para instalar el plugin discourse-saml.
Configurar el plugin discourse-saml
El plugin se puede configurar de dos formas:
Opción 1: Configuración del sitio (recomendada)
Después de instalar y reconstruir, ve al panel de administración de Discourse y navega a Admin → Plugins → SAML. Habilita la configuración saml_enabled y configura lo siguiente:
- saml_target_url: la
SAML 2.0 Endpoint URLcopiada de la pestaña SSO de OneLogin - saml_cert_fingerprint: la
SHA fingerprintcopiada de la pestaña SSO de OneLogin → sección Certificate - saml_cert: el
X.509 Certificatecopiado de la pestaña SSO de OneLogin → sección Certificate - saml_log_auth: habilitar para depuración
Opción 2: Variables de entorno
Alternativamente, puedes configurar el plugin mediante variables de entorno en app.yml. Ten en cuenta que cuando se utilizan variables de entorno, todas las configuraciones del sitio SAML quedan ocultas en la interfaz de administración.
Edita app.yml:
cd /var/discourse
vim containers/app.yml
y agrega estas variables bajo la sección 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 sin saltos de línea}
- Reemplaza {SAML 2.0 Endpoint URL} con la
SAML 2.0 Endpoint URLcopiada de la pestaña SSO de OneLogin - Reemplaza {SHA fingerprint} con la
SHA fingerprintcopiada de la pestaña SSO de OneLogin → sección Certificate - Reemplaza {X.509 Certificate sin saltos de línea} con el
X.509 Certificatecopiado de la pestaña SSO de OneLogin → sección Certificate; ten en cuenta que no debe haber saltos de línea y elimina los marcadores de inicio y fin.
Reconstruir la aplicación
Para que los cambios surtan efecto, reconstruye la aplicación:
cd /var/discourse
./launcher rebuild app
¡Listo! 
Ahora deberías poder iniciar sesión utilizando SAML de OneLogin.




