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! 
Sie sollten sich jetzt mit OneLogin’s SAML anmelden können.




