> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Règles de validation CIMD

> Découvrez les règles de validation d’URL et de JSON qu’Auth0 applique aux documents de métadonnées d’identifiant du client (CIMD).

> [!WARNING]
>
> **La fonctionnalité Enregistrement CIMD dynamique est en .**

## Règles de validation des URL CIMD

Pour réussir la validation dans Auth0, les URL CIMD doivent satisfaire aux exigences suivantes :

| Catégorie | Règle | Exigence |
| - | - | - |
| **Protocole** | HTTPS obligatoire | Doit utiliser le schéma `https://`. |
| **Hôte** | Aucun localhost | `localhost`, `127.0.0.1` et `::1` sont rejetés. |
| | Nom d’hôte valide | Doit contenir un nom d’hôte non vide; les triples barres obliques (p. ex., `https:///`) sont interdites. |
| **Chemin** | Composant de chemin | Doit contenir un chemin au-delà de la racine `/`. |
| | Aucun segment point | Le chemin ne doit pas contenir `.` ni `..` (y compris sous la forme encodée `%2e`). |
| **Contraintes** | Longueur maximale | 120 octets au maximum. |
| | Aucun espace | Aucun espace n’est autorisé au début ni à la fin. |
| | Format | Doit être une chaîne non vide pouvant être analysée comme une URL. |
| **Interdictions** | Aucune information d’identification | Aucun nom d’utilisateur ni mot de passe n’est autorisé dans l’URL. |
| | Aucun fragment | Les identifiants de fragment (`#`) ne sont pas autorisés. |
| | Aucune requête | Les chaînes de requête (`?`) ne sont pas autorisées. |
| | Aucun port 0 | Le port 0 est réservé et interdit. |
| **Encodage** | Encodage par pourcentage | `%` doit être suivi d’exactement deux chiffres hexadécimaux. |

## Règles de validation JSON CIMD

Auth0 applique les règles de validation JSON CIMD suivantes :

* **Propriétés non prises en charge** : Auth0 ignore les propriétés non prises en charge lors du mappage et les signale sous forme d’avertissements dans la réponse de validation.
* **JWKS intégré** : il n’est pas possible de fournir un objet `jwks` intégré plutôt qu’un `jwks_uri`; cela déclenchera une erreur `invalid_client_metadata`.
* **Clés privées** : tout JWKS récupéré au moyen de `jwks_uri` qui contient du matériel de clé privée (le paramètre `d`) sera rejeté.
* **Sécurité de la récupération** : le document CIMD et le `jwks_uri` sont soumis à des limites de taille de 5 Ko et de 12 Ko respectivement, et aucun des deux ne prend en charge les redirections HTTP.

Auth0 prend en charge les propriétés CIMD suivantes :

| Propriété | Requis | Type | Règles de validation | Mappage Auth0 |
| - | - | - | - | - |
| `client_id` | Oui | String | Doit être une URL HTTPS valide correspondant exactement à l’emplacement où le document est hébergé. | `external_client_id` |
| `client_name` | Oui | String | Doit être une chaîne non vide. | `name` |
| `redirect_uris` | Conditionnel | Tableau de String | Requis si `grant_types` inclut `authorization_code` ou `implicit`. Doivent être des URI HTTPS uniques (bouclage local autorisé pour les applications natives). | `callbacks` |
| `grant_types` | Oui | Tableau de String | Doit inclure au moins un type pris en charge (`authorization_code` ou `refresh_token`). Les types non pris en charge génèrent des avertissements et sont écartés. | `grant_types` |
| `application_type` | Non | String | Seules les valeurs `native` ou `web` sont autorisées. Les valeurs inconnues sont rejetées. La valeur par défaut est `web`. | `app_type` |
| `token_endpoint_auth_method` | Non | String | Prend en charge `none` ou `private_key_jwt`. Les méthodes à secret symétrique (p. ex., `client_secret_post`) sont interdites. | `token_endpoint_auth_method` |
| `jwks_uri` | Conditionnel | String | Requis si `token_endpoint_auth_method` est `private_key_jwt`. Doit être une URL HTTPS ayant la même origine que le `client_id`. | `jwks_uri` |
| `logo_uri` | Non | String | Doit être une URL HTTP ou HTTPS valide. | `logo_uri` |
| `description` | Non | String | Texte libre d’au plus 140 caractères. | `description` |
| `response_types` | Non | Tableau de String | Validé pour la cohérence OIDC, mais non conservé. Génère un avertissement s’il contient `code` alors que `authorization_code` est absent de `grant_types`. | (Aucun) |
