Dynamische Clientregistrierung
Die dynamische Clientregistrierung ermöglicht der Relying Party (RP) von OpenID Connect (OIDC), sich selbst beim OpenID Connect-Provider (OP) zu registrieren.
Vorbereitende Schritte
Die dynamische Client-Registrierung basiert auf den Spezifikationen der „ OpenID “ und der „Connect Dynamic Client Registration“ ( 1.0 ).
Neue OIDC-Anwendungen werden von einem Tenantadministrator oder einem Benutzer mit Verwaltungszugriff auf den Tenant erstellt. Jetzt kann auch ein API-Client mit dem korrekten Nutzungsrecht eine OIDC-Anwendung über einen Endpunkt für die dynamische Clientregistrierung erstellen. Die erstellte Anwendung ist eine „benutzerdefinierte Anwendung“, bei der als Anmeldemethode „ OpenID -Verbindung“ festgelegt ist.
Der Endpunkt für die dynamische Clientregistrierung befindet sich hier: https://{{tenant}}/v1.0/endpoint/default/client_registration.
Erwägen Sie die Verwendung des neuen Endpunkts für die dynamische Client-Registrierung, sofern dieser Ihren Anforderungen entspricht. Weitere Informationen finden Sie unter „Dynamische Client-Registrierung mit dem neuen „ OpenID “-Connect-Anbieter “.
Informationen zu dieser Task
Um einen Client dynamisch zu registrieren, rufen Sie zunächst ein Erstzugriffstoken ab und registrieren Sie anschließend die neue OIDC-Anwendung mithilfe der Registrierungs-API.
Bevor Sie einen neuen Kunden registrieren, überprüfen Sie bitte die Einstellungen für die dynamische Kundenregistrierung.Dynamische Einstellungen für die Client-Registrierung
Die Einstellungen für die dynamische Client-Registrierung können so konfiguriert werden, dass die Standardwerte für die dynamische Client-Registrierung festgelegt werden. Siehe „Konfigurieren der Einstellungen für die dynamische OIDC-Client-Registrierung “.
Die entsprechenden Einstellungen sind in der folgenden Tabelle beschrieben.
| Feld | Beschreibung |
|---|---|
| Erteilungstypen | Die zu verwendenden Zuschussarten, sofern diese nicht in den Daten der dynamischen Mandantenregistrierung angegeben sind. Die unterstützten Authentifizierungstypen sind „Autorisierungscode“, „Implicit“, „Passwort“, „Geräteablauf“, „JWT Bearer“ und „Aktualisierungstoken“. |
| Anforderungen für ID-Token | Standardmäßig werden die ID-Token- und Benutzerdaten abgerufen, sofern diese nicht in der Nutzlast der dynamischen Client-Registrierung angegeben sind. |
| Token-Claims | Die Standard-Claims für Introspektion und JWT-Zugriffstoken, sofern diese nicht in der Nutzlast der dynamischen Client-Registrierung angegeben sind. |
| Typ von Zugriffstoken | Die Art des zu generierenden Zugriffstokens. Die zulässigen Werte sind „default“ und „JWT“. |
| Signaturalgorithmus für ID-Token | Der Algorithmus, der zum Signieren von ID-Tokens verwendet wird, sofern er nicht in der Nutzlast der dynamischen Client-Registrierung angegeben ist. |
| Benutzerzustimmung | Wählen Sie aus, ob die Zustimmung des Benutzers eingeholt werden soll, falls diese nicht in den Daten der dynamischen Client-Registrierung angegeben ist. |
| Lebensdauer des Zugriffstokens | Die Gültigkeitsdauer des Zugriffstokens in Sekunden. Maximal 2147483647, minimal 1. |
| Lebensdauer des Aktualisierungstokens | Die Gültigkeitsdauer des Aktualisierungstokens in Sekunden. Maximal 2147483647, minimal 1. |
| PKCE-Verifizierung erzwingen | Wählen Sie aus, ob PKCE erzwungen werden soll, wenn dies in der Nutzlast der dynamischen Client-Registrierung nicht angegeben ist. |
| Berechtigung allen Benutzern erteilen | Stellen Sie fest, ob alle Benutzer zur Nutzung dieses Clients berechtigt sind, sofern dies nicht in den Daten der dynamischen Client-Registrierung angegeben ist. |
| Angepasste Clientberechtigungsnachweise zulassen | Legt fest, ob benutzerdefinierte Client-Anmeldedaten zulässig sind. Wenn dieser Wert auf „false“ gesetzt ist, können Client-ID und Secret nicht in der Nutzlast für die dynamische Client-Registrierung angegeben werden. |
Die Abschnitte „Software-Erklärung“, „Autorisierung anfordern“ und „Zugriffstoken registrieren“ in den Einstellungen sind für diesen „ OpenID Connect“-Anbieter nicht relevant.
Token für Erstzugriff anfordern
Verwenden Sie für den Zugriff auf den Endpunkt einer dynamischen Clientregistrierung ein Zugriffstoken mit der Berechtigung Manage
OIDC client registration dynamically.
Erstellen Sie einen API-Client mit der Berechtigung Manage OIDC client registration dynamically. Informationen zum Erstellen des API-Clients finden Sie unter „API-Clients erstellen “.
Rufen Sie nach der Erstellung des API-Clients mithilfe des Ablaufs client_credentials das Zugriffstoken ab. Siehe hierzu das folgende Beispiel:
curl -ki -v https://{{tenant}}/v1.0/endpoint/default/`token -d "grant_type=client_credentials&client_id=<clientId>&client_secret=<clientSecret>"
Neue Anwendung über die Registrierungs-API registrieren
Mithilfe des im vorherigen Abschnitt erstellten Zugriffstokens können Sie eine neue OIDC-Anwendung erstellen.
Die folgende Tabelle enthält die Liste der Clientmetadaten, die gegenwärtig unterstützt werden.
| Metadatenname | Metadatenbeschreibung | Optional | Gültige Werte |
|---|---|---|---|
| client_name | Anwendungsname | wahr | Zeichenfolge |
| client_id | Die Client-ID wird automatisch generiert, wenn sie nicht angegeben wird. | wahr | Zeichenfolge |
| client_secret | Der geheime Clientschlüssel wird automatisch generiert, wenn er nicht angegeben wird. | wahr | Zeichenfolge |
| redirect_uris | Liste der Umleitungs-URIs | falsch | Liste der Zeichenfolge-URIs |
| grant_types | Array der Erteilungstypen, die von der Anwendung verwendet werden können. | wahr | „authorization_code“, „implicit“, „password“, „urn:ietf:params:oauth:grant-type:device_code“, „urn:ietf:params:oauth:grant-type:jwt-bearer“ und „refresh_token“ |
| id_token_signed_response_alg | Tokensignieralgorithmus | wahr | 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'ES256', 'ES384', 'ES512', 'PS256', 'PS384', 'PS512' |
| all_users_entitled | Setzen Sie diese Angabe auf 'true', wenn alle Benutzer zur Verwendung dieser Anwendung berechtigt sein sollen. | wahr | 'true' oder 'false' |
| jwks_uri | URL des JSON Web Key Set-Dokuments des Clients | wahr | URL |
| consent_action | Benutzerzustimmungsanforderung | wahr | 'never_prompt' oder 'always_prompt' |
| enforce_pkce | Verwendung von PKCE erzwingen | wahr | 'true' oder 'false' |
| id_token_claims | Liste der Ansprüche für das ID-Token (id_token) und Benutzerinformationen | wahr | Liste der Zeichenfolgen |
| token_claims | Liste der Ansprüche für Introspektion (introspect) und JWT-Zugriffstoken | wahr | Liste der Zeichenfolgen |
| initiate_login_uri | Die URL zum Starten der Anmeldung. | wahr | URL |
| token_endpoint_auth_method | Clientauthentifizierungsmethode für den Tokenendpunkt. | wahr | 'default', 'client_secret_basic', 'client_secret_post', 'client_secret_jwt', 'private_key_jwt' |
Beispiel für die Registrierung einer neuen Anwendung
curl -ki -H "Authorization: bearer <access-token>" -H "Content-Type:application/json" -X POST https://{{tenant}}/v1.0/endpoint/default/client_registration --data-binary '{"redirect_uris":["https://www.redirect.com"],"client_name":"MyApplication"}'Antwort{
"grant_types": [
"authorization_code"
],
"client_secret_expires_at": "0",
"registration_client_uri": "https://{{tenant}}/v1.0/endpoint/default/client_registration/<clientId>",
"client_secret": "<client_secret>",
"redirect_uris": [
"https://www.redirect.com"
],
"client_id_issued_at": "1586933118",
"client_name": "MyApplication",
"registration_access_token": "<access_token>",
"client_id": "<clientId>",
"id_token_signed_response_alg": "RS256"
}Weitere Konfiguration der Anwendung
Nachdem die Anwendung erstellt wurde, stehen Ihnen weitere Optionen zur Verfügung, die Sie für die Anwendung konfigurieren können, beispielsweise Attributzuordnung, Zugriffsrichtlinien, Identitätsquellen, berechtigte Benutzer und andere. Informationen zum Konfigurieren dieser Optionen finden Sie unter Single Sign-on im OpenID Connect-Provider konfigurieren.
Die Option zur Aktualisierung mithilfe der Registrierungs-API wird nicht unterstützt.
OIDC-Anwendung mithilfe der Registrierungs-API lesen
curl -ki -H "Authorization: bearer <registration-access-token>" https://{{tenant}}/v1.0/endpoint/default/client_registration/<clientId>OIDC-Anwendung mithilfe der Registrierungs-API löschen
Die Registrierungs-API bietet auch eine Möglichkeit, die OIDC-Anwendung zu löschen.
curl -ki -H "Authorization: bearer <registration-access-token>" -X DELETE https://{{tenant}}/v1.0/endpoint/default/client_registration/<clientId>
Das Token für den Registrierungszugriff ist abgelaufen.
Fordern Sie, wenn das Registrierungszugriffstoken abläuft, ein neues Zugriffstoken an. Siehe „Erste Zugriffstoken abrufen “.