> ## 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.

> Ajoutez des claims personnalisés aux jetons d’accès et d’identité Auth0 à l’aide de clés avec espace de noms dans une Action afin de transmettre des données supplémentaires sur l’utilisateur ou l’application à votre API.

# Créer des claims personnalisés

Pour lire des claims personnalisés dans les jetons d’accès et les <Tooltip tip="ID Token : informations d’identification destinées au client lui-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=ID+tokens">jetons d’identité</Tooltip>, vous devez utiliser des <Tooltip tip="ID Token : informations d’identification destinées au client lui-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=JSON+Web+Tokens">JSON Web Tokens</Tooltip> (JWT) et transmettre une <Tooltip tip="JSON Web Token (JWT) : format standard de jeton ID (et souvent de jeton d’accès) utilisé pour représenter des claims de manière sécurisée entre deux parties." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=audience">audience</Tooltip> (`aud`) dans un flux de connexion OIDC. Pour en savoir plus, consultez [Jetons d’accès](/docs/fr-ca/secure/tokens/access-tokens).

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

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

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

Auth0 applique les restrictions suivantes aux claims personnalisés :

* La charge utile des claims personnalisés est limitée à 100 KB maximum
* Les [claims standard OPENID](https://openid.net/specs/openid-connect-core-1_0.html#IDToken) et les claims utilisés en interne par Auth0 ne peuvent pas être personnalisés ni modifiés
* <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="/docs/fr-ca/glossary?term=Access+tokens">Jetons d’accès</Tooltip> avec l’Auth0 API comme audience, à l’exception du point de terminaison `/userinfo`, ne peuvent pas comporter de claims personnalisés privés sans espace de noms
* Seuls les claims de profil utilisateur OIDC spécifiés peuvent être ajoutés aux jetons d’accès

Les claims suivants sont soumis 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">
  ### Claims non restreintes
</div>

Vous pouvez créer des claims contenant des renseignements sensibles sur l’utilisateur afin d’enrichir le profil utilisateur et d’améliorer l’expérience utilisateur. Votre application récupère ensuite ces claims à partir des jetons d’identité. Pour en savoir plus sur l’utilisation des claims non restreintes, consultez [jetons d’identité](/docs/fr-ca/secure/tokens/id-tokens) et gardez à l’esprit [Token Best Practices](/docs/fr-ca/secure/tokens/token-best-practices) si vous les utilisez.

Les claims suivantes sont soumises uniquement à 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">
  ## Directives relatives aux espaces de noms
</div>

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

Utilisez les directives suivantes pour les identificateurs d’espace de noms :

* Utilisez comme identificateur d’espace de noms toute URL HTTP ou HTTPS autre qu’une URL Auth0. Les domaines Auth0 ne peuvent pas être utilisés comme identificateurs d’espace de noms; cela inclut notamment :

  * auth0.com
  * webtask.io
  * webtask.run
* Utilisez comme identificateur 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 à pointer vers une ressource réelle. Elle sert uniquement d’identificateur; elle ne sera pas appelée.
* Commencez l’URL par `http://` ou `https://`.
* Vous pouvez aussi utiliser des identificateurs 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é et ne peut pas être utilisé comme identificateur d’espace de noms.
* Créez plusieurs espaces de noms, au besoin.

Une fois que vous avez choisi votre espace de noms, ajoutez-y le claim pour créer un claim avec espace de noms, qui peut être ajouté à un jeton. Par exemple :

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

<div id="non-namespaced-guidelines">
  ## Directives pour les claims personnalisées sans espace de noms
</div>

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

* À moins que ce soit absolument nécessaire pour votre application, utilisez des claims personnalisées publiques avec espace de noms qui résistent aux collisions.
* Créez des claims portant des noms explicites et résistants aux collisions. Par exemple, utilisez `employee_id` au lieu de `e_id`.
* Gardez les noms et les valeurs des claims aussi légers que possible en ne transmettant que les données strictement nécessaires à votre application.
* Évitez d’attribuer des charges utiles trop volumineuses aux claims personnalisées.

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

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

Utilisez Auth0 Actions pour créer des claims personnalisées. L’objet `api` vous permet d’utiliser la méthode `setCustomClaim` pour les jetons d’accès ou les jetons d’identité.

<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>

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