Dieser Leitfaden erklärt, wie man Benutzerkonten in Discourse automatisch bereitstellt, wenn ein externer Authentifizierungsanbieter aktiviert ist, sodass Benutzer automatisch erstellt werden, ohne dass eine Registrierungsseite angezeigt wird.
Erforderliches Benutzerlevel: Administrator
Automatisches Bereitstellen von Benutzerkonten mit externer Authentifizierung
Wenn du Discourse mit einem externen Identitätsanbieter über DiscourseConnect, das OpenID Connect-Plugin, das OAuth2 Basic-Plugin, SAML oder einen anderen Authentifizierungsanbieter verbindest, erstellt Discourse Benutzerkonten beim ersten Login. Standardmäßig wird vor der Erstellung des Kontos eine Registrierungsseite angezeigt, auch wenn der Anbieter bereits alle erforderlichen Details (E-Mail, Benutzername und Name) bereitgestellt hat.
Die automatische Bereitstellung entfernt diesen zusätzlichen Schritt. Mit den richtigen Einstellungen erstellt Discourse das Konto stillschweigend im Hintergrund und meldet den Benutzer direkt an, was ein nahtloses Erlebnis bietet.
Aktivieren der automatischen Bereitstellung
Um den Registrierungsschritt zu überspringen, musst du die Site-Einstellung auth_skip_create_confirm aktivieren. Diese Einstellung findest du unter Admin > Alle Site-Einstellungen > Login-Seite.
Optional: Aktivieren der Override-Einstellungen
Diese Einstellungen weisen Discourse an, den vom Identitätsanbieter bereitgestellten Werten zu vertrauen und sie direkt zu verwenden, ohne den Benutzer zur Überprüfung aufzufordern. Gehe zu Admin > Alle Site-Einstellungen > Login-Seite und aktiviere Folgendes:
| Einstellung | Beschreibung |
|---|---|
auth_overrides_username |
Verwendet den Benutzernamen des Anbieters direkt bei jedem Login und verhindert, dass der Benutzer ihn lokal ändert. Gilt für alle Authentifizierungsanbieter. |
auth_overrides_email |
Verwendet die E-Mail-Adresse des Anbieters direkt bei jedem Login und verhindert, dass der Benutzer sie lokal ändert. Gilt für alle Authentifizierungsanbieter. |
auth_overrides_name |
Verwendet den vollständigen Namen des Anbieters direkt bei jedem Login und verhindert, dass der Benutzer ihn lokal ändert. Gilt für alle Authentifizierungsanbieter. |
auth_overrides_avatar |
Verwendet den Avatar des Anbieters direkt bei jedem Login und verhindert, dass der Benutzer ihn lokal ändert. Gilt für alle Authentifizierungsanbieter. |
Die Plugins OAuth2 Basic, OpenID Connect und SAML haben auch eigene, pluginspezifische Override-Einstellungen (
oauth2_overrides_email,openid_connect_overrides_email,saml_sync_email). Diese funktionieren wie die globale Einstellungauth_overrides_email, gelten jedoch nur für ihren jeweiligen Anbieter. Für die meisten Konfigurationen sind die oben genannten globalen Einstellungen ausreichend.
Häufig gestellte Fragen
Gelten diese Einstellungen für alle Authentifizierungsplugins oder nur für DiscourseConnect?
Die Einstellungen auth_skip_create_confirm und auth_overrides * gelten für alle externen Authentifizierungsanbieter, einschließlich DiscourseConnect, OpenID Connect, OAuth2 Basic, SAML und jedes andere Plugin, das auf dem Authentifizierungsframework von Discourse basiert.
Kann ich Benutzerkonten vor dem Login vorab erstellen?
Ja, aber nur bei Verwendung von DiscourseConnect. Verwende den sync_sso-API-Endpunkt wie in Sync DiscourseConnect user data with the sync_sso route beschrieben.
Was ist der Unterschied zwischen DiscourseConnect und den OAuth2/OIDC-Plugins?
DiscourseConnect ist das eigene benutzerdefinierte SSO-Protokoll von Discourse. Es gibt deiner externen Website volle Kontrolle über Discourse-Konten, einschließlich der Möglichkeit, Gruppenmitgliedschaften zu übertragen, Felder zu überschreiben und Konten über die API vorab zu erstellen. Die OAuth2- und OpenID Connect-Plugins verwenden Industriestandardprotokolle, was die Verbindung zu Drittanbieter-Identitätsanbietern mit minimaler Konfiguration erleichtert.