Configura SAML di OneLogin per Discourse

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 Endpoint copiato dalla scheda SSO di OneLogin
  • saml_cert_fingerprint: l’SHA fingerprint copiato dalla sezione Certificato della scheda SSO di OneLogin
  • saml_cert: il X.509 Certificate copiato 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 Endpoint copiato dalla scheda SSO di OneLogin
  • sostituisci {SHA fingerprint} con l’SHA fingerprint copiato dalla sezione Certificato della scheda SSO di OneLogin
  • sostituisci {X.509 Certificate senza interruzioni di riga} con il X.509 Certificate copiato 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! :tada:

Ora dovresti essere in grado di accedere utilizzando SAML di OneLogin.

6 Mi Piace