Passer au contenu principal
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 effectue la validation. Pour en savoir plus, consultez Jetons d’accès du fournisseur d’identité.
Si l’une de ces vérifications échoue, le jeton est considéré comme invalide, et la requête doit être rejetée avec un résultat 401 Unauthorized.
  1. Effectuez la validation JWT standard. Comme le jeton d’accès est un JWT, vous devez suivre les étapes standard de validation JWT. Consultez Valider les JSON Web Tokens pour en savoir plus.
  2. Vérifiez les revendications 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 revendications standard. La revendication 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 point de terminaison /userinfo. Au moins une des valeurs d’audience du jeton doit correspondre à l’identificateur unique de l’API cible, tel qu’il est défini dans les paramètres de votre API, dans le champ Identifier. Consultez Obtenir des jetons d’accès pour en savoir plus.
  3. Vérifiez les autorisations (scopes). Vérifiez que l’application a reçu les autorisations requises pour accéder à votre API. Pour ce faire, vous devrez vérifier la revendication scope (scope, liste de chaînes séparées par des espaces) dans le payload du JWT décodé. Elle doit correspondre aux autorisations requises pour le point de terminaison auquel vous accédez. Par exemple, si votre API personnalisée fournit trois points de terminaison pour lire, créer ou supprimer un enregistrement utilisateur, lorsque vous avez enregistré votre API auprès d’Auth0, vous avez créé trois autorisations correspondantes :
    1. create:users donne accès au point de terminaison /create
    2. read:users donne accès au point de terminaison /read
    3. delete:users donne accès au point de terminaison /delete
    Dans ce cas, si une application demande l’accès au point de terminaison /create, mais que la revendication scope du jeton d’accès n’inclut pas la valeur create:users, l’API doit rejeter la requête.

En savoir plus