Configurer SAML de OneLogin pour Discourse

Voici comment configurer Discourse pour autoriser la connexion et l’inscription via SAML de OneLogin.

Configurer OneLogin

Créer un compte OneLogin

Accédez à OneLogin et créez un compte.

Créer une nouvelle application : SAML Test Connector (IdP w/attr)

Depuis votre tableau de bord, créez une nouvelle application.

Recherchez SAML Test Connector (IdP w/attr).

Configurer l’application

Supposons que l’URL de notre instance Discourse soit http://discourse.example.com. Configurons-la.

Passez à l’onglet Configuration et remplissez les détails suivants :

  • Audience : http://discourse.example.com
  • Récipiendaire : http://discourse.example.com/auth/saml/callback
  • Validateur d’URL ACS (Consumer) : ^http:\\/\\/discourse\\.example\\.com\\/auth\\/saml\\/callback\\/$
  • URL ACS (Consumer) : http://discourse.example.com/auth/saml/callback

Copier les informations du certificat et le point de terminaison SAML 2.0

Passez à l’onglet SSO.

Cliquez sur le lien View Details sous le certificat et copiez l’empreinte SHA et le certificat X.509. Notez-les, ils seront utilisés lors de la configuration de l’application Discourse.

Copiez et notez l’URL du point de terminaison SAML 2.0 Endpoint (HTTP).

Configurer Discourse

Installer le plugin discourse-saml

Suivez ce guide pour installer le plugin discourse-saml.

Configurer le plugin discourse-saml

Le plugin peut être configuré de deux manières :

Option 1 : Paramètres du site (recommandé)

Après l’installation et la reconstruction, accédez au panneau d’administration de Discourse et naviguez vers Admin → Plugins → SAML. Activez le paramètre saml_enabled et configurez les éléments suivants :

  • saml_target_url : l’URL du point de terminaison SAML 2.0 copiée depuis l’onglet SSO de OneLogin
  • saml_cert_fingerprint : l’empreinte SHA copiée depuis la section Certificat de l’onglet SSO de OneLogin
  • saml_cert : le certificat X.509 copié depuis la section Certificat de l’onglet SSO de OneLogin
  • saml_log_auth : activez pour le débogage

Option 2 : Variables d’environnement

Alternativement, vous pouvez configurer le plugin via des variables d’environnement dans app.yml. Notez que lorsque des variables d’environnement sont utilisées, tous les paramètres du site SAML sont masqués dans l’interface d’administration.

Modifiez app.yml :

cd /var/discourse
vim containers/app.yml

et ajoutez ces variables dans la section env :

DISCOURSE_SAML_TITLE: "Exemple SAML"
DISCOURSE_SAML_TARGET_URL: {URL du point de terminaison SAML 2.0}
DISCOURSE_SAML_LOG_AUTH: "true"
DISCOURSE_SAML_CERT_FINGERPRINT: {empreinte SHA}
DISCOURSE_SAML_CERT: {Certificat X.509 sans sauts de ligne}
  • remplacez {URL du point de terminaison SAML 2.0} par l’URL du point de terminaison SAML 2.0 copiée depuis l’onglet SSO de OneLogin
  • remplacez {empreinte SHA} par l’empreinte SHA copiée depuis la section Certificat de l’onglet SSO de OneLogin
  • remplacez {Certificat X.509 sans sauts de ligne} par le certificat X.509 copié depuis la section Certificat de l’onglet SSO de OneLogin ; notez qu’il ne doit y avoir aucun saut de ligne et supprimez les marqueurs de début et de fin

Reconstruire l’application

Pour que les modifications prennent effet, reconstruisez l’application :

cd /var/discourse
./launcher rebuild app

Et voilà ! :tada:

Vous devriez maintenant pouvoir vous connecter en utilisant le SAML de OneLogin.

6 « J'aime »