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.0copiée depuis l’onglet SSO de OneLogin - saml_cert_fingerprint : l’
empreinte SHAcopiée depuis la section Certificat de l’onglet SSO de OneLogin - saml_cert : le
certificat X.509copié 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.0copiée depuis l’onglet SSO de OneLogin - remplacez {empreinte SHA} par l’
empreinte SHAcopiée depuis la section Certificat de l’onglet SSO de OneLogin - remplacez {Certificat X.509 sans sauts de ligne} par le
certificat X.509copié 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à ! 
Vous devriez maintenant pouvoir vous connecter en utilisant le SAML de OneLogin.




