Ecco come configurare Discourse per consentire l’accesso e la registrazione tramite SAML di OneLogin.
Configurare OneLogin
Creare un account OneLogin
Vai su OneLogin e crea un account.
Creare una nuova app: SAML Test Connector (IdP w/attr)
Dal tuo cruscotto, crea una nuova app.
Cerca SAML Test Connector (IdP w/attr)
Configurare l’app
Supponiamo che l’URL della nostra istanza Discourse sia http://discourse.example.com. Procediamo alla configurazione.
Passa alla scheda Configuration e compila questi dettagli:
- 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
Copiare le informazioni sul certificato e l’endpoint SAML 2.0
Passa alla scheda SSO.
Fai clic sul link View Details sotto il certificato e copia SHA fingerprint e X.509 Certificate. Prendi nota di questi dati, poiché saranno necessari durante la configurazione dell’app Discourse.
Copia e annota l’URL SAML 2.0 Endpoint (HTTP).
Configurare Discourse
Installare il plugin discourse-saml
Segui questa guida per installare il plugin discourse-saml.
Configurare il plugin discourse-saml
Il plugin può essere configurato in due modi:
Opzione 1: Impostazioni del sito (consigliata)
Dopo l’installazione e la ricostruzione, vai al pannello di amministrazione di Discourse e naviga su Admin → Plugins → SAML. Abilita l’impostazione saml_enabled e configura quanto segue:
- saml_target_url: l’URL
SAML 2.0 Endpointcopiato dalla scheda SSO di OneLogin - saml_cert_fingerprint: l’
SHA fingerprintcopiato dalla sezione Certificato della scheda SSO di OneLogin - saml_cert: il
X.509 Certificatecopiato dalla sezione Certificato della scheda SSO di OneLogin - saml_log_auth: abilita per il debug
Opzione 2: Variabili d’ambiente
In alternativa, puoi configurare il plugin tramite variabili d’ambiente in app.yml. Tieni presente che quando vengono utilizzate le variabili d’ambiente, tutte le impostazioni del sito SAML sono nascoste dall’interfaccia di amministrazione.
Modifica app.yml
cd /var/discourse
vim containers/app.yml
e aggiungi queste variabili nella sezione 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 senza interruzioni di riga}
- sostituisci {SAML 2.0 Endpoint URL} con l’URL
SAML 2.0 Endpointcopiato dalla scheda SSO di OneLogin - sostituisci {SHA fingerprint} con l’
SHA fingerprintcopiato dalla sezione Certificato della scheda SSO di OneLogin - sostituisci {X.509 Certificate senza interruzioni di riga} con il
X.509 Certificatecopiato dalla sezione Certificato della scheda SSO di OneLogin; nota che non devono esserci interruzioni di riga e rimuovi i marcatori di inizio e fine
Ricostruire l’app
Affinché le modifiche abbiano effetto, ricostruisci l’app.
cd /var/discourse
./launcher rebuild app
Ecco fatto! 
Ora dovresti essere in grado di accedere utilizzando SAML di OneLogin.




