OneLogin's SAML für Discourse konfigurieren

So konfigurieren Sie Discourse, um die Anmeldung und Registrierung mit OneLogin’s SAML zu ermöglichen.

OneLogin konfigurieren

OneLogin-Konto erstellen

Gehen Sie zu OneLogin und erstellen Sie ein Konto.

Neue App erstellen: SAML Test Connector (IdP w/attr)

Erstellen Sie von Ihrem Dashboard aus eine neue App.

Suchen Sie nach SAML Test Connector (IdP w/attr).

App konfigurieren

Nehmen wir an, die URL Ihrer Discourse-Instanz lautet http://discourse.example.com. Konfigurieren wir sie.

Wechseln Sie zum Reiter Configuration und füllen Sie diese Details aus:

  • 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

Zertifikatsinformationen und SAML 2.0-Endpunkt kopieren

Wechseln Sie zum Reiter SSO.

Klicken Sie auf den Link View Details unter dem Zertifikat und kopieren Sie den SHA-Fingerabdruck und das X.509-Zertifikat. Notieren Sie sich diese, da sie bei der Konfiguration der Discourse-App benötigt werden.

Kopieren und notieren Sie die URL von SAML 2.0 Endpoint (HTTP).

Discourse konfigurieren

Plugin discourse-saml installieren

Befolgen Sie diese Anleitung, um das discourse-saml-Plugin zu installieren.

Plugin discourse-saml konfigurieren

Das Plugin kann auf zwei Arten konfiguriert werden:

Option 1: Site-Einstellungen (empfohlen)

Nach der Installation und dem Neustart gehen Sie zu Ihrem Discourse-Admin-Bereich und navigieren Sie zu Admin → Plugins → SAML. Aktivieren Sie die Einstellung saml_enabled und konfigurieren Sie Folgendes:

  • saml_target_url: Die SAML 2.0 Endpoint URL, die vom OneLogin-SSO-Reiter kopiert wurde
  • saml_cert_fingerprint: Der SHA-Fingerabdruck, der vom OneLogin-SSO-Reiter → Zertifikatsbereich kopiert wurde
  • saml_cert: Das X.509-Zertifikat, das vom OneLogin-SSO-Reiter → Zertifikatsbereich kopiert wurde
  • saml_log_auth: Aktivieren für Debugging

Option 2: Umgebungsvariablen

Alternativ können Sie das Plugin über Umgebungsvariablen in app.yml konfigurieren. Beachten Sie, dass bei Verwendung von Umgebungsvariablen alle SAML-Site-Einstellungen in der Admin-Oberfläche ausgeblendet werden.

Bearbeiten Sie app.yml:

cd /var/discourse
vim containers/app.yml

und fügen Sie diese Variablen unter dem Abschnitt env hinzu:

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 without line breaks}
  • Ersetzen Sie {SAML 2.0 Endpoint URL} durch die SAML 2.0 Endpoint URL, die vom OneLogin-SSO-Reiter kopiert wurde.
  • Ersetzen Sie {SHA fingerprint} durch den SHA-Fingerabdruck, der vom OneLogin-SSO-Reiter → Zertifikatsbereich kopiert wurde.
  • Ersetzen Sie {X.509 Certificate without line breaks} durch das X.509-Zertifikat, das vom OneLogin-SSO-Reiter → Zertifikatsbereich kopiert wurde. Beachten Sie, dass keine Zeilenumbrüche enthalten sein dürfen und die Anfangs- und Endkennzeichnungen entfernt werden müssen.

App neu erstellen

Damit die Änderungen wirksam werden, bauen Sie die App neu.

cd /var/discourse
./launcher rebuild app

Voila! :tada:

Sie sollten sich jetzt mit OneLogin’s SAML anmelden können.

6 „Gefällt mir“