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
resourcesiaudiencen’est pas fourni.
Types de clients pris en charge
Vous pouvez enregistrer les types de clients suivants avec CIMD dans Auth0 :- Type d’application : il doit s’agir d’une application native ou d’une application Web traditionnelle.
- Application tierce : il doit s’agir d’une application tierce (
is_first_party: false), soumise à des contrôles de sécurité renforcés.
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, commeclient_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_methodsurnonedans les métadonnées du client - Doivent utiliser la clé de preuve pour l’échange de code (PKCE) pour les flux d’autorisation
- Aucune authentification du client n’est requise au terminal de jeton; définissez
- Clients confidentiels :
- Seule l’authentification Private Key JWT est prise en charge; définissez
token_endpoint_auth_methodsurprivate_key_jwtdans les métadonnées du client - 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 CIMD.
- Seule l’authentification Private Key JWT est prise en charge; définissez
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.- Auth0 Dashboard
- 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.- Auth0 Dashboard
- Management API
Pour enregistrer une application avec un CIMD manuel à l’aide de l’Auth0 Dashboard :
- Accédez à Applications > Applications.
- Sélectionnez Create Application > Import from URL.
- Entrez l’URL du CIMD. Ensuite, sélectionnez Preview. Auth0 valide l’URL du CIMD selon les règles de validation des URL CIMD.
- 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.
- 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.- Clients CIMD manuels
- Clients CIMD dynamiques
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 :- Accédez à Applications > Applications et sélectionnez votre client CIMD.
- Dans le coin supérieur droit, sélectionnez Refresh Client Metadata (Actualiser les métadonnées du client).
- 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.
- Sélectionnez Sauvegarder.
Obtenir le client CIMD
Pour obtenir un client CIMD, faites une requêteGET vers le terminal /v2/clients/{clientId}, où {clientID} correspond à l’ID client généré par Auth0 attribué au client CIMD :
- Auth0 CLI
- cURL
external_client_id ou l’URL CIMD en paramètre de requête au terminal /v2/clients :
- Auth0 CLI
- cURL
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 champexternal_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.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 à jourapp_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 :
- Auth0 CLI
- cURL
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 unkid 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 sonjwks_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 :
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.