Skip to main content
Pour lire des claims personnalisés dans les jetons d’accès et les , vous devez utiliser des (JWT) et transmettre une (aud) dans un flux de connexion OIDC. Pour en savoir plus, consultez Jetons d’accès. 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.
Auth0 autorise les claims avec et sans espace de noms, mais certaines restrictions s’appliquent (voir Restrictions générales). 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.

Restrictions générales

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 et les claims utilisés en interne par Auth0 ne peuvent pas être personnalisés ni modifiés
  • 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

Claims non restreintes

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é et gardez à l’esprit 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

Directives relatives aux espaces de noms

L’URN Auth0 urn:auth0 ne peut pas être utilisé comme identificateur d’espace de noms.
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

Directives pour les claims personnalisées sans espace de noms

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.

Créer des claims personnalisées

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

Exemple

En savoir plus