name, indiquant que le nom de l’utilisateur qui s’authentifie est “John Doe”. Dans un JWT, un claim se présente sous la forme d’une paire nom-valeur, où le nom est toujours une chaîne de caractères et la valeur peut être être n’importe quelle valeur JSON. En général, lorsque nous parlons d’un claim dans le contexte d’un JWT, nous faisons référence à son nom (ou à sa clé). Par exemple, l’objet JSON suivant contient trois claims (sub, name, admin) :
Pour en savoir plus sur les claims standard d’OpenID Connect (OIDC), consultez OpenID Connect Scopes et Claims standard d’OpenID Connect.
- enregistré : des claims standard enregistrés auprès de l’Internet Assigned Numbers Authority (IANA) et définis par la spécification JWT afin d’assurer l’interopérabilité avec des applications tierces, ou externes. Les claims standard d’OIDC sont des claims réservés.
- personnalisé : comprend des claims publics ou privés non enregistrés. Les claims publics sont résistants aux collisions, tandis que les claims privés peuvent entraîner des collisions.
Claims enregistrées
La spécification JWT définit sept claims réservées qui ne sont pas obligatoires, mais qui sont recommandées afin de permettre l’interopérabilité avec les applications tierces. Les voici :iss(issuer) : Émetteur du JWTsub(subject) : Sujet du JWT (l’utilisateur)aud() : Destinataire auquel le JWT est destinéexp(date d’expiration) : Moment après lequel le JWT expirenbf(date de début de validité) : Moment avant lequel le JWT ne doit pas être accepté pour traitementiat(date d’émission) : Moment où le JWT a été émis; peut servir à déterminer l’ancienneté du JWTjti(JWT ID) : Identifiant unique; peut servir à empêcher la réutilisation du JWT (ce qui permet qu’un jeton ne soit utilisé qu’une seule fois)
Claims personnalisées
Vous pouvez définir vos propres claims personnalisées, que vous contrôlez, et les ajouter à un jeton à l’aide d’Actions. Voici quelques exemples :- Ajoutez l’adresse courriel d’un utilisateur à un et utilisez-la pour identifier l’utilisateur de façon unique.
- Ajoutez des renseignements personnalisés stockés dans un profil utilisateur Auth0 à un .
Claims publics
Vous pouvez créer des claims personnalisés destinés au public, qui peuvent contenir des renseignements généraux comme le nom et l’adresse courriel. Si vous créez des claims publics, vous devez soit les enregistrer, soit utiliser, au moyen d’un espace de noms, des noms résistants aux collisions, et prendre des précautions raisonnables pour vous assurer de contrôler l’espace de noms que vous utilisez. Dans le registre des claims JSON Web Token de l’IANA, vous pouvez voir quelques exemples de claims publics enregistrés par Connect (OIDC) :auth_timeacrnonce
Claims privés
Vous pouvez créer des claims personnalisés privés pour transmettre des renseignements propres à votre application. Par exemple, alors qu’un claim public peut contenir des renseignements généraux comme le nom et l’adresse courriel, les claims privés peuvent être plus précis, comme l’ID d’employé et le nom du département.Restrictions d’Auth0
Auth0 applique les restrictions générales suivantes aux claims personnalisées :- la charge utile des claims personnalisées est limitée à 100 KB maximum
- un sous-ensemble des claims standard enregistrées d’OIDC et d’autres claims utilisées en interne par Auth0 ne peuvent pas être personnalisées ni modifiées
- les jetons d’accès avec une audience d’Auth0 API, à l’exception du endpoint
/userinfo, ne peuvent pas contenir de claims personnalisées privées non namespacées - seules les claims de profil utilisateur OIDC spécifiées peuvent être ajoutées aux jetons d’accès