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

> Découvrez comment créer des noms résistants aux collisions pour les revendications personnalisées.

# Créer des revendications personnalisées

Pour lire des revendications personnalisées dans les jetons d’accès et les <Tooltip tip="ID Token : jeton destiné à l’application cliente elle-même, et non à l’accès à une ressource." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=ID+tokens">ID tokens</Tooltip>, vous devez utiliser des <Tooltip tip="ID Token : jeton destiné à l’application cliente elle-même, et non à l’accès à une ressource." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JSON+Web+Tokens">JSON Web Tokens</Tooltip> (JWT) et préciser une <Tooltip tip="JSON Web Token (JWT) : format standard d’ID Token (et souvent de Access Token) utilisé pour représenter des revendications de façon sécurisée entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=audience">audience</Tooltip> (`aud`) dans un flux de connexion OIDC. Pour en savoir plus, consultez [Jetons d’accès](/fr-CA/docs/secure/tokens/access-tokens).

Lorsque vous configurez des revendications personnalisées dans des JWT, vous devez éviter les collisions. Pour éviter que vos revendications personnalisées n’entrent en conflit avec des revendications réservées ou avec des revendications provenant d’autres ressources, donnez-leur un nom résistant aux collisions. Auth0 recommande d’utiliser un format avec espace de noms.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 autorise les revendications avec ou sans espace de noms, mais certaines restrictions s’appliquent (consultez [Restrictions générales](/fr-CA/docs/secure/tokens/json-web-tokens/create-custom-claims#general-restrictions)). Pour éviter les collisions de noms, nous recommandons d’utiliser des revendications avec espace de noms. En cas de collision, la transaction n’échouera pas, mais votre revendication personnalisée ne sera pas ajoutée à vos jetons.
</Callout>

<div id="general-restrictions">
  ## Restrictions générales
</div>

Auth0 applique les restrictions suivantes aux revendications personnalisées :

* Le payload des revendications personnalisées est limité à 100 KB maximum
* Les [revendications standard d’OpenID](https://openid.net/specs/openid-connect-core-1_0.html#IDToken) et les revendications utilisées en interne par Auth0 ne peuvent pas être personnalisées ni modifiées
* <Tooltip tip="Jeton d’accès : information d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisée pour accéder à une API." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Access+tokens">Jetons d’accès</Tooltip> avec une audience d’API Auth0, à l’exception du point de terminaison `/userinfo`, ne peuvent pas contenir de revendications personnalisées privées sans espace de noms
* Seules les revendications spécifiées du profil utilisateur OIDC peuvent être ajoutées aux jetons d’accès

Les revendications suivantes sont soumises aux restrictions d’Auth0 :

* `acr`
* `act`
* `active`
* `amr`
* `at_hash`
* `ath`
* `attest`
* `aud`
* `auth_time`
* `authorization_details`
* `azp`
* `c_hash`
* `client_id`
* `cnf`
* `cty`
* `dest`
* `entitlements`
* `events`
* `exp`
* `groups`
* `gty`
* `htm`
* `htu`
* `iat`
* `internalService`
* `iss`
* `jcard`
* `jku`
* `jti`
* `jwe`
* `jwk`
* `kid`
* `may_act`
* `mky`
* `nbf`
* `nonce`
* `object_id`
* `org_id`
* `org_name`
* `orig`
* `origid`
* `permissions`
* `roles`
* `rph`
* `s_hash`
* `sid`
* `sip_callid`
* `sip_cseq_num`
* `sip_date`
* `sip_from_tag`
* `sip_via_branch`
* `sub`
* `sub_jwk`
* `toe`
* `txn`
* `typ`
* `uuid`
* `vot`
* `vtm`
* `x5t#S256`

<div id="non-restricted-claims">
  ### Revendications non restreintes
</div>

Vous pouvez créer des revendications pour des renseignements sensibles concernant l’utilisateur afin d’enrichir le profil utilisateur et d’améliorer l’expérience utilisateur. Votre application utilise ces revendications à partir des ID tokens. Pour en savoir plus sur l’utilisation des revendications non restreintes, consultez [ID Tokens](/fr-CA/docs/secure/tokens/id-tokens) et tenez compte des [bonnes pratiques relatives aux jetons](/fr-CA/docs/secure/tokens/token-best-practices) si vous les utilisez.

Les revendications suivantes sont uniquement soumises à des restrictions générales :

* `address`
* `birthdate`
* `email`
* `email_verified`
* `family_name`
* `gender`
* `given_name`
* `locale`
* `middle_name`
* `name`
* `nickname`
* `phone_number`
* `phone_number_verified`
* `picture`
* `preferred_username`
* `profile`
* `updated_at`
* `website`
* `zoneinfo`

<div id="namespaced-guidelines">
  ## Lignes directrices relatives aux espaces de noms
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  L’URN Auth0 `urn:auth0` ne peut pas être utilisée comme identifiant d’espace de noms.
</Callout>

Utilisez les lignes directrices suivantes pour les identifiants d’espace de noms :

* Utilisez toute URL HTTP ou HTTPS non liée à Auth0 comme identifiant d’espace de noms. Les domaines Auth0 ne peuvent pas être utilisés comme identifiants d’espace de noms, notamment :

  * auth0.com
  * webtask.io
  * webtask.run
* Utilisez comme identifiant d’espace de noms une URL que vous contrôlez; cela vous permet d’éviter le risque qu’une autre personne utilise le même espace de noms. L’URL de l’espace de noms n’a pas besoin de pointer vers une ressource réelle. Elle sert uniquement d’identifiant; elle ne sera pas appelée.
* Faites commencer l’URL par `http://` ou `https://`.
* Vous pouvez aussi utiliser des identifiants d’espace de noms fondés sur des URN si vous utilisez une API personnalisée. Dans ce cas, l’URN Auth0 `urn:auth0` est réservée et ne peut pas être utilisée comme identifiant d’espace de noms.
* Créez plusieurs espaces de noms, au besoin.

Une fois l’espace de noms choisi, ajoutez-y la revendication pour créer une revendication avec espace de noms, qui peut être ajoutée à un jeton. Par exemple :

`http://www.example.com/favorite_color`

<div id="non-namespaced-guidelines">
  ## Directives sans espace de noms
</div>

Utilisez les directives suivantes pour les revendications personnalisées sans espace de noms :

* À moins que ce soit absolument nécessaire pour votre application, utilisez des revendications personnalisées publiques dans un espace de noms qui résistent aux collisions.
* Créez des revendications dont les noms sont explicites et résistants aux collisions. Par exemple, utilisez `employee_id` plutôt que `e_id`.
* Gardez les noms et les valeurs des revendications aussi concis que possible, en ne transmettant que les données strictement nécessaires à votre application.
* Évitez d’attribuer des payloads trop volumineux aux revendications personnalisées.

Pour obtenir d’autres exemples de revendications personnalisées ajoutées à un jeton, consultez [Exemples de cas d’utilisation : scopes et revendications](/fr-CA/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims).

<div id="create-custom-claims">
  ## Créer des revendications personnalisées
</div>

Utilisez Auth0 Actions pour créer des revendications personnalisées. L’objet `api` vous permet d’appeler la méthode `setCustomClaim` sur les jetons d’accès ou les ID tokens.

<div id="example">
  ### Exemple
</div>

```js lines theme={null}
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.accessToken.setCustomClaim('myClaim', 'this is a private, non namespaced claim');
};
```

<div id="learn-more">
  ## En savoir plus
</div>

* [Revendications de JSON Web Token](/fr-CA/docs/secure/tokens/json-web-tokens/json-web-token-claims)
* [scopes d’OpenID Connect](/fr-CA/docs/get-started/apis/scopes/openid-connect-scopes)
