OpenID Connect-Authentifizierungsmethode
Eine OpenID Connect-Authentifizierungsmethode in FoxIDs verbindet FoxIDs mit einem externen OpenID Provider (OP) oder Identity Provider (IdP). Der externe Anbieter authentifiziert den Benutzer, während FoxIDs als Relying Party (RP) fungiert und die resultierende Identität ausgewählten Anwendungsregistrierungen zur Verfügung stellt.
Es können mehrere OpenID Connect-Authentifizierungsmethoden konfiguriert und von Anwendungsregistrierungen ausgewählt werden. Zu den wichtigsten Funktionen gehören automatische Discovery und Aktualisierungen der Signaturschlüssel, Authorization Code Flow mit PKCE, Clientauthentifizierung, konfigurierbare Claim-Quellen, Claim-Weiterleitung und Claim-Transformation.
Konfiguration
In FoxIDs Control:
- Wählen Sie die Umgebung aus, die dem externen Anbieter vertrauen soll.
- Öffnen Sie Authentication und klicken Sie auf Add authentication.
- Wählen Sie Connect to OpenID Provider. Dieser Standardtyp wird angezeigt, ohne Show all options zu aktivieren.
- Konfigurieren Sie den Anbieter und klicken Sie auf Create.

Google-Beispiel
Dieses Beispiel stellt mit der folgenden Authority eine Verbindung zu Google her:
https://accounts.google.com
Konfigurieren Sie die Authentifizierungsmethode mit:
- Einem aussagekräftigen Name.
- Der Google-Authority in Authority.
- Den Scopes
profileundemail. FoxIDs fügt den erforderlichen Scopeopenidautomatisch hinzu. - Aktiviertem Use PKCE.
- Dem von Google ausgestellten Client Secret.
*in Forward claims, um alle empfangenen Claims weiterzuleiten.- Aktiviertem Read claims from the ID token instead of the access token unter Show advanced.
Die erforderlichen Scopes und die Notwendigkeit zusätzlicher Scopes unterscheiden sich je nach Anbieter. Konfigurieren Sie nur die Scopes, die der externe Anbieter und die von Ihren Anwendungen benötigten Benutzerinformationen erfordern.
Kopieren Sie die von FoxIDs angezeigte Redirect URL und registrieren Sie sie beim externen Anbieter als autorisierte Redirect URI. Google stellt außerdem eine Client ID für den OAuth-Client aus. Aktivieren Sie Show advanced und geben Sie diesen Wert in Optional custom SP client ID ein. Wenn keine benutzerdefinierte Client ID konfiguriert ist, verwendet FoxIDs den Namen der Authentifizierungsmethode als Client ID.

Discovery und automatische Aktualisierungen
Beim Erstellen der Authentifizierungsmethode liest FoxIDs das OpenID Connect Discovery-Dokument des Anbieters unter:
https://accounts.google.com/.well-known/openid-configuration
FoxIDs liest den Issuer, die Signaturschlüssel und die unterstützten Endpoints, einschließlich Authorization-, Token-, UserInfo- und End-Session-Endpoints, sofern vorhanden. Öffnen Sie die Authentifizierungsmethode erneut, um den ermittelten Issuer, die Schlüssel und Endpoints zu prüfen.

FoxIDs liest die Discovery regelmäßig erneut und übernimmt künftige Änderungen an Endpoints und Signaturschlüsseln. Wenn die Discovery weiterhin nicht verfügbar ist und die automatischen Aktualisierungen beendet werden, aktualisieren Sie die Authentifizierungsmethode in FoxIDs Control oder über die Control API, um sie neu zu starten. Das Aktualisierungsintervall kann unter Show advanced geändert werden.
FoxIDs Control erstellt anhand der Discovery automatisch aktualisierte Authentifizierungsmethoden. Die Control API unterstützt zusätzlich manuell gepflegte Konfigurationen, bei denen Issuer, Schlüssel und Endpoints direkt angegeben werden und keine Discovery aufgerufen wird.
Claims und Weiterleitung
Standardmäßig validiert FoxIDs das ID-Token und liest die Claims des Benutzers aus dem externen Access Token. Unter Show advanced kann die Claim-Quelle stattdessen geändert werden zu:
- Read claims from the ID token instead of the access token.
- Read claims from the UserInfo Endpoint instead of the access token or ID token.
Die UserInfo-Option verwendet das externe Access Token, um den ermittelten UserInfo-Endpoint aufzurufen. Die beiden Alternativen schließen sich in FoxIDs Control gegenseitig aus.

Die Authentifizierungsmethode leitet die Standard-Claims und die unter Forward claims aufgeführten Claims an Anwendungsregistrierungen weiter. Fügen Sie * hinzu, um alle empfangenen Claims weiterzuleiten; dies ist die Standardeinstellung. Standardmäßig werden sub, sid, acr und amr übertragen.
Fügen Sie access_token hinzu, um das externe Access Token für Anwendungsregistrierungen verfügbar zu machen. Wenn der externe Anbieter ein Refresh Token zurückgibt, fügen Sie auch refresh_token hinzu. Ein Refresh Token wird in der Regel nur bei Verwendung des Authorization Code Flow und des anbieterspezifischen Scopes für den Offlinezugriff, etwa offline_access, zurückgegeben.
Claims können mit Claim-Transformationen und Claim-Aufgaben ausgewählt, umbenannt, kombiniert oder anderweitig geändert werden. Ein durch eine Transformation erstellter Claim bleibt lokal in der Authentifizierungsmethode, sofern er nicht in Forward claims aufgenommen oder * verwendet wird.
Clientauthentifizierung und PKCE
Die Authentifizierungsmethode verwendet standardmäßig den Authorization Code Flow mit PKCE. Die Standardmethode für die Clientauthentifizierung am Token-Endpoint ist client secret post.
Aktivieren Sie Show advanced, um client secret basic oder private key JWT auszuwählen. Bei private key JWT importieren Sie das Clientzertifikat nach dem Erstellen der Authentifizierungsmethode und registrieren den entsprechenden öffentlichen Schlüssel beim externen Anbieter.

Der Anbieter bestimmt, welche Clientauthentifizierungsmethoden und PKCE-Optionen unterstützt werden. Verwenden Sie die stärkste von beiden Seiten unterstützte Konfiguration.
Profile
Profile ermöglichen einer OpenID Connect-Authentifizierungsmethode alternative Anmeldevarianten, ohne die gesamte Anbieterkonfiguration zu duplizieren. Ein Profil behält die Grundeinstellungen der Authentifizierungsmethode bei und kann:
- Anbieterspezifische Scopes zu den für die Authentifizierungsmethode konfigurierten Scopes hinzufügen.
- Parameter zur Authorization-Anfrage hinzufügen oder zusätzliche Parameter gleichen Namens ersetzen, die in der Authentifizierungsmethode konfiguriert sind.
Öffnen Sie die Authentifizierungsmethode, aktivieren Sie Show advanced, wählen Sie die Registerkarte Profiles und klicken Sie auf Add Profile. Geben Sie dem Profil einen aussagekräftigen Name und einen eindeutigen Technical name und konfigurieren Sie anschließend zusätzliche Scopes und Parameter.
Das folgende Beispiel fügt prompt=login hinzu und fordert den externen OpenID Provider damit auf, den Benutzer erneut zu authentifizieren. Der Wert custom_scope zeigt, wo ein anbieterspezifischer Scope hinzugefügt werden kann. Ersetzen Sie ihn durch einen vom Anbieter unterstützten Scope oder lassen Sie ihn weg, wenn kein zusätzlicher Scope erforderlich ist.

In einer Anwendungsregistrierung stehen sowohl die Authentifizierungsmethode selbst als auch jedes Profil als separate Auswahlmöglichkeiten zur Verfügung. Sie können die Basismethode, ein oder mehrere Profile oder beides zulassen. Bei Auswahl der Basismethode werden keine Profileinstellungen angewendet. Bei Auswahl eines Profils kombiniert FoxIDs dessen Scopes und zusätzliche Parameter mit der Basiskonfiguration.
Erweiterte Anbietereinstellungen
Die folgenden Einstellungen sind unter Show advanced verfügbar:
- Optional custom SP client ID überschreibt den als Client ID verwendeten Namen der Authentifizierungsmethode. Verwenden Sie diese Option, wenn der Anbieter eine bestimmte Client ID ausstellt oder verlangt.
- Edit issuers ersetzt den durch Discovery ermittelten Issuer durch eine explizite Liste. Dies unterstützt Anbieter, die Tokens von mehreren Issuern mit denselben Signaturschlüsseln ausstellen.
*akzeptiert jeden Issuer und sollte nur verwendet werden, wenn dieses Vertrauen beabsichtigt ist. Der akzeptierte Issuer wird dem Claimauth_method_issuerhinzugefügt. - Party binding pattern ändert das Format der FoxIDs-Callback-URL für die Interoperabilität mit dem Anbieter. FoxIDs verwendet standardmäßig das Klammermuster
.../(auth-method)/...; die Muster mit Tilden.../~auth-method~/...und Punkten.../.auth-method./...werden ebenfalls unterstützt. - Response type, response mode, Discovery-Aktualisierungsintervall sowie Abmelde- und Vertrauenseinstellungen bieten zusätzliche Protokollsteuerung.
Der nach dem Erstellen angezeigte Issuer und die Signaturschlüssel bleiben schreibgeschützt, solange der ermittelte Issuer verwendet wird. Aktivieren Sie Edit issuers nur, wenn der Anbieter eine von der Discovery abweichende Issuer-Konfiguration erfordert.
Anleitungen
- IdentityServer verbinden
- Microsoft Entra ID verbinden
- Azure AD B2C verbinden
- Amazon Cognito verbinden
- Google verbinden
- Facebook verbinden
- Signicat verbinden
- Nets eID Broker verbinden