Enregistrement dynamique de client

L'enregistrement dynamique de client permet à la partie utilisatrice d'OpenID Connect (OIDC) de s'enregistrer auprès du fournisseur OpenID Connect.

Avant de commencer

L'enregistrement dynamique des clients repose sur les spécifications de l' OpenID, notamment celles relatives à l'enregistrement dynamique des clients (Dynamic Client Registration) et à l' 1.0.

Les nouvelles applications OIDC sont créées par un administrateur titulaire ou un utilisateur disposant d'un accès administrateur au titulaire. Désormais, un client API disposant de l'habilitation appropriée peut également créer une application OIDC via un noeud final d'enregistrement dynamique de client. L'application créée est une « application personnalisée » dont la méthode de connexion est définie sur « Connexion via l' OpenID ».

Le nœud final d'enregistrement de client dynamique se trouve ici : https://{{tenant}}/v1.0/endpoint/default/client_registration.

Envisagez d'utiliser le nouveau point de terminaison d'enregistrement dynamique des clients s'il répond à vos besoins. Pour plus d'informations, consultez la section « Enregistrement dynamique des clients avec le nouveau fournisseur Connect d' OpenID ».

A propos de cette tâche

Pour enregistrer un client de manière dynamique, obtenez un jeton d'accès initial, puis enregistrez la nouvelle application OIDC à l'aide de l'API d'enregistrement.

Avant d'enregistrer un nouveau client, vérifiez les paramètres d'enregistrement dynamique des clients.

Paramètres dynamiques d'enregistrement des clients

Les paramètres d'enregistrement dynamique des clients peuvent être configurés afin de définir les valeurs par défaut pour l'enregistrement dynamique des clients. Voir la section « Configuration des paramètres d'enregistrement dynamique des clients OIDC ».

Les paramètres concernés sont décrits dans le tableau ci-dessous.

Zone Descriptif
Types d'octroi Les types de subventions à utiliser s'ils ne sont pas spécifiés dans la charge utile de l'enregistrement dynamique du client. Les types de jetons pris en charge sont « Code d'autorisation », « Implicite », « Mot de passe », « Flux d'appareil », « JWT bearer » et « Jeton de rafraîchissement ».
Réclamations de jeton d'ID Ces champs sont renseignés par défaut avec les informations relatives au jeton d'identification et à l'utilisateur s'ils ne sont pas spécifiés dans la charge utile de l'enregistrement dynamique du client.
Réclamations de jeton Les revendications par défaut pour l'introspection et le jeton d'accès JWT, si elles ne sont pas spécifiées dans la charge utile d'enregistrement dynamique du client.
Type de jeton d'accès Le type de jeton d'accès à générer. Les valeurs autorisées sont « default » et « JWT ».
Algorithme de signature de jeton d'ID L'algorithme utilisé pour signer les jetons d'identification, s'il n'est pas spécifié dans la charge utile d'enregistrement dynamique du client.
Accord de l'utilisateur Indiquez s'il faut demander le consentement de l'utilisateur si celui-ci n'est pas spécifié dans la charge utile de l'enregistrement dynamique du client.
Durée de vie du jeton d'accès La durée de validité du jeton d'accès, en secondes. Maximum 2 147 483 647, minimum 1.
Durée de vie du jeton d'actualisation La durée de validité du jeton d'actualisation, en secondes. Maximum 2 147 483 647, minimum 1.
Appliquer la vérification PKCE Indiquez si vous souhaitez appliquer le protocole PKCE lorsque celui-ci n'est pas spécifié dans la charge utile d'enregistrement dynamique du client.
Autoriser pour tous les utilisateurs Vérifiez si tous les utilisateurs sont autorisés à utiliser ce client, si cela n'est pas précisé dans la charge utile d'enregistrement dynamique du client.
Autoriser les données d'identification client personnalisées Détermine si les identifiants client personnalisés sont autorisés. Si cette option est définie sur « false », l'ID client et la clé secrète ne peuvent pas être spécifiés dans la charge utile d'enregistrement dynamique du client.

Les sections « Déclaration du logiciel », « Demande d'autorisation » et « Jeton d'accès d'enregistrement » des paramètres ne s'appliquent pas à ce fournisseur Connect d' OpenID.

Acquérir un jeton d'accès initial

Pour accéder à un nœud final d'enregistrement de client dynamique, utilisez un jeton d'accès avec le droit d'accès Manage OIDC client registration dynamically.

Créez un client d'API avec le droit d'accès Manage OIDC client registration dynamically. Pour créer un client API, consultez la section Création de clients API.

Une fois le client API créé, utilisez le flux client_credentials pour obtenir le jeton d'accès. Prenons cet exemple :

curl -ki -v https://{{tenant}}/v1.0/endpoint/default/`token -d "grant_type=client_credentials&client_id=<clientId>&client_secret=<clientSecret>"

Enregistrer une nouvelle application à l'aide de l'API d'enregistrement

En utilisant le jeton d'accès généré dans la section précédente, vous pouvez créer une nouvelle application OIDC.

Le tableau ci-dessous présente la liste des métadonnées client actuellement prises en charge.

Nom des métadonnées Description des métadonnées Facultatif Valeurs valides
client_name Nom de l'application Oui chaîne
client_id L'ID client est automatiquement généré s'il n'est pas fourni. Oui chaîne
client_secret Le secret du client est automatiquement généré s'il n'est pas fourni. Oui chaîne
redirect_uris Liste des URI de redirection. Non liste des URI de chaîne
grant_types Tableau des types d'octroi que l'application peut utiliser. Oui « authorization_code », « implicit », « password », « urn:ietf:params:oauth:grant-type:device_code », « urn:ietf:params:oauth:grant-type:jwt-bearer » et « refresh_token »
id_token_signed_response_alg Algorithme de signature de jeton. Oui 'RS256', 'RS384', 'RS512', 'HS256', 'HS384', 'HS512', 'ES256', 'ES384', 'ES512', 'PS256', 'PS384', 'PS512'
all_users_entitled Défini sur true si tous les utilisateurs sont habilités à utiliser cette application. Oui true ou false
jwks_uri URL du document de l'ensemble de clés Web JSON du client. Oui URL
consent_action Demande de consentement de l'utilisateur. Oui ‘never_prompt’ ou ‘always_prompt’
enforce_pkce Utilisation forcée de PKCE. Oui true ou false
id_token_claims Liste des réclamations pour id_token et informations utilisateur. Oui liste de chaînes
token_claims Liste de réclamations pour l'introspection et le jeton d'accès JWT. Oui liste de chaînes
initiate_login_uri URL permettant de démarrer la connexion. Oui URL
token_endpoint_auth_method Méthode d'authentification client pour le nœud final de jeton. Oui 'default', 'client_secret_basic', 'client_secret_post', 'client_secret_jwt', 'private_key_jwt'

Exemple d'enregistrement d'une nouvelle application

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"}'
réponse
{
	"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"
}

Configuration supplémentaire de l'application

Une fois l'application créée, vous disposez d'autres options à configurer, telles que le mappage des attributs, la politique d'accès, les sources d'identité, les utilisateurs autorisés, etc. Pour configurer ces options, voir Configuration de la connexion unique dans le fournisseur OpenID Connect.

L'option de mise à jour à l'aide de l'API d'enregistrement n'est pas prise en charge.

Lire l'application OIDC à l'aide de l'API d'enregistrement

L'API d'enregistrement permet également de lire à nouveau l'application OIDC.
curl -ki -H "Authorization: bearer <registration-access-token>" https://{{tenant}}/v1.0/endpoint/default/client_registration/<clientId>

Supprimer l'application OIDC à l'aide de l'API d'enregistrement

L'API d'enregistrement permet également de supprimer l'application OIDC.

curl -ki -H "Authorization: bearer <registration-access-token>" -X DELETE https://{{tenant}}/v1.0/endpoint/default/client_registration/<clientId>

Jeton d'accès à l'enregistrement expiré

Si le jeton d'accès à l'enregistrement arrive à expiration, achetez-en un nouveau. Voir « Obtenir un jeton d'accès initial ».