Skip to main content
Pour en savoir plus sur l’enregistrement au moyen du Client ID Metadata Document (CIMD), notamment ses avantages, ses cas d’utilisation et le fonctionnement du CIMD manuel et dynamique, consultez Aperçu du CIMD.

Prérequis

Avant d’enregistrer une application au moyen d’un CIMD, assurez-vous de respecter les exigences suivantes :

Configuration du locataire et de l’application

Seules les applications tierces peuvent être enregistrées comme clients CIMD :
  • Configurer la politique d’accès à l’API : les applications tierces nécessitent des autorisations client explicites pour accéder aux API.
  • Promouvoir les connexions au niveau du domaine : rendez les connexions disponibles au niveau du domaine ou du locataire pour authentifier vos utilisateurs, une condition requise pour les applications tierces.
  • Profil de compatibilité du paramètre de ressource (facultatif) : pour les clients MCP, nous recommandons d’activer ce profil dans vos paramètres du locataire. Cela permet au serveur d’autorisation de traiter les requêtes propres aux ressources (RFC 8707) en vérifiant le paramètre resource si audience n’est pas fourni.

Types de clients pris en charge

Vous pouvez enregistrer les types de clients suivants avec CIMD dans Auth0 :

Méthodes d’authentification prises en charge

Les clients CIMD ne peuvent pas utiliser de méthodes d’authentification fondées sur des secrets symétriques partagés, comme client_secret_post, client_secret_basic ou client_secret_jwt. Selon que le client est public ou confidentiel, Auth0 prend en charge les méthodes d’authentification suivantes pour les clients CIMD :
  • Clients publics :
    • Aucune authentification du client n’est requise au terminal de jeton; définissez token_endpoint_auth_method sur none dans les métadonnées du client
    • Doivent utiliser la clé de preuve pour l’échange de code (PKCE) pour les flux d’autorisation
  • Clients confidentiels :
    • Seule l’authentification Private Key JWT est prise en charge; définissez token_endpoint_auth_method sur private_key_jwt dans les métadonnées du client
    • Fournissez un jwks_uri pour héberger les clés publiques. Le jwks_uri doit avoir exactement la même origine (schéma, hôte et port) que l’URL CIMD. Pour en savoir plus, consultez les règles de validation JSON CIMD.
L’authentification Private Key JWT est offerte uniquement aux clients d’entreprise. Pour en savoir plus sur les forfait Enterprise, consultez Pricing ou communiquez avec Auth0 Sales.
Les clients CIMD manuels qui utilisent l’authentification Private Key JWT doivent mettre en place la rotation des clés en générant une nouvelle paire de clés avec un nouveau kid unique.

Activer l’enregistrement CIMD

Activez l’enregistrement CIMD à l’aide d’Auth0 Dashboard ou de Management API.
  • Activer la prise en charge de CIMD : activez le bouton Client ID Metadata Document Registration dans vos paramètres du locataire pour signaler la prise en charge de CIMD dans les métadonnées du serveur d’autorisation Auth0. Les clients peuvent ainsi détecter automatiquement cette fonctionnalité lors de la connexion.
    • Accédez à Settings > Advanced et faites défiler jusqu’à la section Settings.
    • Activez Client ID Metadata Document Registration.
  • Prise en charge de l’enregistrement CIMD dynamique : activez le bouton Dynamic CIMD Registration sous Client ID Metadata Document Registration dans vos paramètres du locataire. Lorsque cette option est activée, les nouveaux clients peuvent s’enregistrer eux-mêmes au moyen du CIMD dynamique. Lorsqu’elle est désactivée, les nouveaux clients ne peuvent plus s’enregistrer eux-mêmes de cette façon, mais les clients CIMD dynamiques existants continuent de fonctionner normalement.

Enregistrer des applications avec un CIMD

Lors de la création d’une application dans Auth0, enregistrez-la manuellement au moyen d’un CIMD à l’aide de l’Auth0 Dashboard ou de la Management API. Lorsque l’enregistrement CIMD dynamique est activé, les applications s’enregistrent elles-mêmes auprès d’Auth0 lors de l’exécution, au moyen de leur URL CIMD. Pour activer l’enregistrement CIMD dynamique, consultez Activer l’enregistrement CIMD.
Pour enregistrer une application avec un CIMD manuel à l’aide de l’Auth0 Dashboard :
  1. Accédez à Applications > Applications.
  2. Sélectionnez Create Application > Import from URL.
  3. Entrez l’URL du CIMD. Ensuite, sélectionnez Preview. Auth0 valide l’URL du CIMD selon les règles de validation des URL CIMD.
  4. Si l’URL du CIMD est valide, Auth0 charge le CIMD et le valide selon les règles de validation JSON CIMD. Prévisualisez les métadonnées du client et corrigez toute erreur de validation.
  5. Sélectionnez Create.

Actualiser les métadonnées du client

Les clients CIMD manuels et les clients CIMD dynamiques n’actualisent pas les métadonnées du client de la même façon.
Pour les clients CIMD manuels, vous pouvez actualiser manuellement les métadonnées du client. Auth0 récupère alors les métadonnées du client à jour à partir du CIMD; vous pouvez ensuite les prévisualiser et les sauvegarder.Lorsque vous actualisez les métadonnées du client, Auth0 met à jour app_type et grant_types pour qu’ils correspondent aux valeurs du CIMD hébergé. Pour en savoir plus sur les champs CIMD, consultez Règles de validation JSON CIMD.Dans Auth0 Dashboard :
  1. Accédez à Applications > Applications et sélectionnez votre client CIMD.
  2. Dans le coin supérieur droit, sélectionnez Refresh Client Metadata (Actualiser les métadonnées du client).
  3. Sélectionnez Refresh Preview (Actualiser l’aperçu) pour prévisualiser les plus récentes métadonnées du client dans le CIMD. Examinez les avertissements ou erreurs de validation, le cas échéant.
  4. Sélectionnez Sauvegarder.

Obtenir le client CIMD

Pour obtenir un client CIMD, faites une requête GET vers le terminal /v2/clients/{clientId}, où {clientID} correspond à l’ID client généré par Auth0 attribué au client CIMD :
Sinon, transmettez le external_client_id ou l’URL CIMD en paramètre de requête au terminal /v2/clients :
Si la requête réussit, Auth0 renvoie une réponse qui contient la configuration du client CIMD avec des champs comme external_client_id, name, callbacks, token_endpoint_auth_method, external_metadata_created_by, external_metadata_status, et plus encore.

Statut des métadonnées CIMD

Chaque client CIMD comprend un champ external_metadata_status qui indique si Auth0 a pu résoudre le document de métadonnées hébergé du client :
Un client CIMD dynamique dont le statut est external_metadata_status: "unavailable" peut se rétablir de lui-même dès que son URL de métadonnées redevient accessible. Auth0 résout de nouveau les métadonnées automatiquement lors d’une requête d’authentification subséquente, sans aucune intervention manuelle. Si le statut demeure unavailable pendant une période prolongée, envisagez de supprimer le client plutôt que d’attendre indéfiniment.
Pour diagnostiquer le statut des métadonnées CIMD, vous pouvez envoyer une requête POST au terminal /api/v2/clients/cimd/preview. Si l’URL est accessible, mais que le document de métadonnées CIMD n’est pas valide, Auth0 renverra des erreurs de validation.

Mettre à jour le client CIMD

Vous pouvez mettre à jour les champs de la base de données Auth0 pour un client CIMD enregistré. La mise à jour du client CIMD dans Auth0 ne met pas automatiquement à jour le CIMD hébergé sur le domaine de l’application. Vous pouvez uniquement mettre à jour les champs suivants pour les clients CIMD. Les clients CIMD dynamiques font l’objet de restrictions supplémentaires : vous ne pouvez pas mettre à jour app_type, description, grant_types ni name. Pour mettre à jour un client CIMD, envoyez une requête PATCH au terminal /v2/clients/{clientId}, où {clientID} est l’ID client généré par Auth0 et attribué au client CIMD :

Considérations relatives à la sécurité

Rotation des clés pour les clients CIMD avec l’authentification private_key_jwt

Pour faire la rotation des clés des clients CIMD qui utilisent l’authentification Private Key JWT, générez une nouvelle paire de clés avec un kid nouveau et unique. Si vous faites la rotation de votre clé privée et mettez à jour votre JWKS avec de nouvelles clés sous le même kid, l’enregistrement CIMD d’Auth0 rejettera la nouvelle clé et conservera l’ancienne. Cela garantit que la rotation des clés exige l’ajout explicite de nouvelles clés, plutôt qu’un remplacement silencieux. Pour les clients CIMD manuels, actualisez l’enregistrement de votre clé dans Auth0 après avoir fait la rotation de vos clés. Pour en savoir plus, consultez Rotation des clés de connexion. Pour les clients CIMD dynamiques, aucune actualisation manuelle n’est nécessaire : si Auth0 ne trouve pas de clé de connexion (kid) lors de la validation du jeton, il récupère automatiquement les clés les plus récentes à partir du jwks_uri du client.

Les informations d’identification ne sont pas prises en charge pour les clients CIMD dynamiques

Un client CIMD dynamique s’authentifie au moyen de clés résolues à partir de son jwks_uri; il ne possède donc aucun enregistrement d’informations d’identification stocké. Toute requête POST envoyée au terminal /v2/clients/{id}/credentials pour un client CIMD dynamique échoue et renvoie l’erreur suivante :
Pour effectuer la rotation des clés d’un client CIMD dynamique, mettez à jour le document jwks_uri hébergé sur son domaine; Auth0 récupère automatiquement les nouvelles clés au besoin. La lecture, la mise à jour et la suppression des informations d’identification d’un client CIMD dynamique ne sont pas bloquées; comme il n’existe aucun enregistrement d’informations d’identification, ces requêtes se comportent comme pour tout client sans informations d’identification (une liste vide, une réponse 404 Not Found pour un identifiant d’information d’identification donné ou une réponse idempotente 204 No Content lors d’une suppression). Cette restriction ne s’applique pas aux clients CIMD manuels ni aux autres types d’application.