Skip to main content
Un est destiné à une API et ne doit être validé que par l’API à laquelle il est destiné.
Les jetons d’accès du fournisseur d’identité (IdP) n’ont pas besoin d’être validés. Transmettez le jeton d’accès de l’IdP à l’IdP émetteur pour qu’il en effectue la validation. Pour en savoir plus, consultez Identity Provider Access Tokens.
Si l’une de ces vérifications échoue, le jeton est considéré comme invalide, et la requête doit être rejetée avec le résultat 401 Unauthorized.
  1. Effectuez la validation JWT standard. Comme le jeton d’accès est un JWT, vous devez effectuer les étapes de validation JWT standard. Consultez Validate JSON Web Tokens pour en savoir plus.
  2. Vérifiez les claims d’audience du jeton. Si vous avez effectué la validation JWT standard, vous avez déjà décodé le payload du JWT et examiné ses claims standard. Le claim d’audience du jeton (aud, tableau de chaînes) dépend de la requête de jeton initiale. Le champ aud peut contenir à la fois une audience correspondant à votre API personnalisée et une audience correspondant au endpoint /userinfo. Au moins une des valeurs d’audience du jeton doit correspondre à l’identifiant unique de l’API cible tel qu’il est défini dans les Settings de votre API, dans le champ Identifier. Consultez Obtenir des jetons d’accès pour en savoir plus.
  3. Vérifiez les permissions (scopes). Vérifiez que l’application s’est vu accorder les permissions requises pour accéder à votre API. Pour ce faire, vous devrez vérifier le claim scope (scope, liste de chaînes séparées par des espaces) dans le payload du JWT décodé. Il doit correspondre aux permissions requises pour le endpoint consulté. Par exemple, si votre API personnalisée fournit trois endpoints pour lire, créer ou supprimer un enregistrement d’utilisateur, lorsque vous avez enregistré votre API auprès d’Auth0, vous avez créé trois permissions correspondantes :
    1. create:users donne accès au endpoint /create
    2. read:users donne accès au endpoint /read
    3. delete:users donne accès au endpoint /delete
    Dans ce cas, si une application demande l’accès au endpoint /create, mais que le claim scope du jeton d’accès n’inclut pas la valeur create:users, l’API doit rejeter la requête.

En savoir plus