Configura SAML de OneLogin para Discourse

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 URL copiada de la pestaña SSO de OneLogin
  • saml_cert_fingerprint: la SHA fingerprint copiada de la pestaña SSO de OneLogin → sección Certificate
  • saml_cert: el X.509 Certificate copiado 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 URL copiada de la pestaña SSO de OneLogin
  • Reemplaza {SHA fingerprint} con la SHA fingerprint copiada de la pestaña SSO de OneLogin → sección Certificate
  • Reemplaza {X.509 Certificate sin saltos de línea} con el X.509 Certificate copiado 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! :tada:

Ahora deberías poder iniciar sesión utilizando SAML de OneLogin.

6 Me gusta