https://example-client.com/mcp-metadata.json). L’URL du CIMD correspond à l’ID client de l’application et confirme la propriété du domaine, ce qui garantit que seuls des administrateurs de locataire de confiance peuvent enregistrer des applications.
Lorsque vous importez une application à partir de son URL CIMD, Auth0 récupère, valide et enregistre les métadonnées pour inscrire l’application comme client CIMD. Bien qu’Auth0 conserve un enregistrement de ces paramètres, le CIMD hébergé demeure la source de référence; les mises à jour des métadonnées sont synchronisées au moyen d’actualisations manuelles. Ce processus d’enregistrement d’application s’appelle l’enregistrement manuel de CIMD.
Vous pouvez uniquement enregistrer des applications tierces au moyen de l’enregistrement manuel de CIMD, lesquelles sont soumises à des contrôles de sécurité renforcés. Une fois l’application enregistrée, configurez votre client CIMD comme application tierce dans Auth0.
Principaux avantages
- Il utilise la cryptographie asymétrique (clés publique/privée) au lieu de secrets symétriques partagés qui peuvent être divulgués.
- Les propriétaires d’applications gèrent directement les métadonnées de l’application dans le CIMD; Auth0 récupère simplement ces mises à jour et les conserve.
- L’ID client est l’URL du CIMD hébergée sur un Domaine HTTPS sécurisé, ce qui sert de preuve de propriété en langage clair dans les journaux d’audit.
Les applications tierces, y compris les applications CIMD, ne prennent pas en charge les Organisations. La prise en charge des Organisations pour les applications tierces sera ajoutée dans une version ultérieure.
Les limites de débit pour les applications CIMD seront ajoutées dans une version ultérieure. Vous pourrez définir une limite de débit précise pour une application CIMD, ainsi qu’une limite de débit partagée pour le trafic agrégé de toutes les applications CIMD dans un locataire.
Cas d’utilisation
- Clients MCP : ils n’ont besoin d’être enregistrés auprès de CIMD qu’une seule fois par déploiement. Toutes les instances de ce déploiement utilisent les mêmes identifiants d’enregistrement. Pour savoir comment Auth0 sécurise les clients et serveurs MCP, consultez Auth for MCP.
- Intégrations tierces : applications partenaires, plateformes SaaS et services externes qui authentifient les utilisateurs au nom d’organisations. Ces applications gèrent leurs propres métadonnées d’application et clés cryptographiques, ce qui permet des mises à jour indépendantes et une rotation des clés sans avoir à partager de secrets.
Exemple de CIMD
"token_endpoint_auth_method": "none" :
https://example-client.com/mcp-metadata.json
Fonctionnement
Phase 1 : Enregistrement
- Création de l’application : l’administrateur du locataire crée une application CIMD dans Auth0 en :
- sélectionnant Import from URL dans l’Auth0 Dashboard
- envoyant une requête POST au point de terminaison
/register, avecexternal_client_id
- Récupération des métadonnées : Auth0 envoie une requête GET au domaine de l’application pour récupérer le CIMD (
client.json). - Validation de sécurité : Auth0 fait correspondre et valide l’URL du CIMD selon les règles de validation de l’URL CIMD, puis valide le CIMD selon les règles de validation CIMD, en vérifiant notamment que
external_client_idcorrespond à l’URL du CIMD. - Persistance : une fois la validation réussie, Auth0 stocke les métadonnées de l’application dans la base de données.
- Confirmation : Auth0 renvoie une réponse de réussite ; l’application a bien été enregistrée dans Auth0 en tant qu’application CIMD.
- Tâche initiée par l’utilisateur : L’utilisateur lance une tâche qui oblige l’application à accéder à une API.
- Demande d’autorisation : L’application envoie une demande au serveur d’autorisation Auth0 en transmettant son URL CIMD comme
client_id. - Résolution de l’application : Le serveur d’autorisation Auth0 interroge la base de données pour associer l’URL fournie (
client_id) à la configuration d’application enregistrée (external_client_id). - Consentement de l’utilisateur : Auth0 affiche un écran de consentement à l’utilisateur, en identifiant l’application à l’aide du
client_namerécupéré dans les métadonnées CIMD. - Redirection : Une fois le consentement accordé par l’utilisateur, Auth0 redirige celui-ci vers l’application avec un code d’autorisation.
- Échange de code : L’application échange le code d’autorisation contre un jeton d’accès au point de terminaison de jeton.
- Autorisation terminée : Le serveur d’autorisation Auth0 renvoie un jeton d’accès dans lequel le
client_idcorrespond à l’URL CIMD. L’application peut maintenant accéder à l’API au nom de l’utilisateur.
Prérequis
Configuration du locataire
- Activer la prise en charge de CIMD : Activez le bouton Client ID Metadata Document Registration dans vos Paramètres du locataire pour indiquer la prise en charge de CIMD dans les métadonnées du serveur d’autorisation Auth0, afin que les applications puissent détecter automatiquement cette fonctionnalité lors de la connexion.
- Accédez à Settings > Avancé et faites défiler jusqu’à la section Settings.
- Activez Client ID Metadata Document Registration.
- Resource Parameter Compatibility Profile (facultatif) : Pour les applications 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 à une ressource (RFC 8707) en vérifiant le paramètre
resourcesi le paramètreaudiencen’est pas fourni.
Types d’applications pris en charge
- Type d’application : Il doit s’agir d’une application native ou d’une Application Web régulière.
- Application tierce : Il doit s’agir d’une application tierce (
is_first_party: false), soumise à des contrôles de sécurité renforcés. Une fois enregistrée, configurez votre application CIMD comme application tierce dans Auth0.
Méthodes d’authentification prises en charge
client_secret_post, client_secret_basic ou client_secret_jwt.
Selon qu’une application est publique ou confidentielle, Auth0 prend en charge les méthodes d’authentification suivantes pour les applications CIMD :
- Applications publiques :
- Aucune authentification de l’application n’est requise au point de terminaison de jeton; définissez
token_endpoint_auth_methodsurnonedans les métadonnées de l’application - Elles doivent utiliser Proof Key for Code Exchange (PKCE) pour les flux d’autorisation
- Aucune authentification de l’application n’est requise au point de terminaison de jeton; définissez
- Applications confidentielles :
- Seule l’authentification Private Key JWT est prise en charge; définissez
token_endpoint_auth_methodsurprivate_key_jwtdans les métadonnées de l’application - Fournissez un
jwks_uripour héberger les clés publiques. Lejwks_uridoit 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 de CIMD.
- Seule l’authentification Private Key JWT est prise en charge; définissez
L’authentification Private Key JWT est offerte uniquement aux clients Enterprise. Pour en savoir plus sur les forfaits Enterprise, consultez Pricing ou communiquez avec l’équipe des ventes d’Auth0.
Les applications CIMD 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.Enregistrer des applications avec le CIMD manuel
- Auth0 Dashboard
- Management API
Pour enregistrer une application avec le CIMD manuel à l’aide de l’Auth0 Dashboard :
- Accédez à Applications > Applications.
- Sélectionnez Create Application > Import from URL.
- Entrez l’URL du CIMD. Sélectionnez ensuite Preview. Auth0 valide l’URL du CIMD en fonction des règles de validation de l’URL du CIMD.
- Si l’URL du CIMD est valide, Auth0 charge le CIMD et le valide en fonction des règles de validation JSON du CIMD. Prévisualisez les métadonnées de l’application et corrigez toute erreur de validation.
- Sélectionnez Create.
Configurer le client CIMD
is_first_party: false), qui sont soumises à des contrôles de sécurité renforcés. Une fois votre client CIMD enregistré, configurez-le comme application tierce dans Auth0 :
- Configurer la stratégie d’accès à l’API : Créez des autorisations d’application pour lui accorder l’accès aux API
- Promouvoir les connexions au niveau du domaine : Rendez les connexions disponibles à l’échelle du domaine ou du locataire pour authentifier vos utilisateurs
Actualiser les métadonnées de l’application
app_type et grant_types pour qu’ils correspondent aux valeurs du CIMD hébergé. Pour en savoir plus sur les champs du CIMD, consultez les règles de validation JSON du CIMD.
Dans l’Auth0 Dashboard :
- Accédez à Applications > Applications et sélectionnez votre application CIMD.
- Dans le coin supérieur droit, sélectionnez Refresh Client Metadata.
- Sélectionnez Refresh Preview pour prévisualiser les métadonnées d’application les plus récentes du CIMD. Passez en revue les avertissements ou erreurs de validation.
- Sélectionnez Save.
Récupérer l’application CIMD
GET au point de terminaison /v2/clients/{clientId}, où {clientID} est l’ID client généré par Auth0 et attribué à l’application CIMD :
external_client_id ou l’URL CIMD en tant que paramètre de requête au point de terminaison /v2/clients :
external_client_id, name, callbacks, token_endpoint_auth_method, entre autres.
Mettre à jour le client CIMD
Pour mettre à jour un client CIMD, effectuez une requête
PATCH vers le point de terminaison /v2/clients/{clientId}, où {clientID} est l’ID client généré par Auth0 et attribué au client CIMD :
Règles de validation des URL CIMD
Règles de validation JSON pour CIMD
- Propriétés non prises en charge : Auth0 ignore les propriétés non prises en charge lors de la correspondance et les signale sous forme d’avertissements dans la réponse de validation.
- JWKS inline : Fournir un objet
jwksinline au lieu d’unjwks_urin’est pas pris en charge et entraîne une erreurinvalid_client_metadata. - Clés privées : Tout JWKS récupéré via
jwks_uriqui contient des données de clé privée (le paramètred) sera rejeté. - Sécurité de récupération : Le document CIMD et le
jwks_urisont soumis à des limites de taille de 5 KB et 12 KB, respectivement, et aucun des deux n’accepte les redirections HTTP.
Considérations en matière de sécurité
Rotation des clés des applications CIMD pour l’authentification private_key_jwt
kid unique. Si vous effectuez 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 rejette la nouvelle clé et conserve l’ancienne. Cela garantit que la rotation des clés nécessite l’ajout explicite de nouvelles clés plutôt qu’un remplacement silencieux.
Veillez à mettre à jour l’enregistrement de votre clé dans Auth0 après la rotation de vos clés. Pour en savoir plus, consultez effectuer la rotation des clés de signature.