Valider les jetons d’accès

Un jeton d’accès est destiné à une API et ne doit être validé que par l’API pour laquelle il a été conçu.

Si l’une de ces vérifications échoue, le jeton est considéré comme non valide et la demande doit être rejetée avec le résultat 401 Non autorisé.

  1. Effectuer une validation JWT standard. Comme le jeton d’accès est un JWT, vous devez effectuer les étapes de validation JWT standard. Pour de plus amples détails, voir Valider des jetons Web JSON.

  2. Vérifiez les demandes audience des jetons. Si vous avez effectué la validation JWT standard, vous avez déjà décodé la charge utile JWT et observé ses demandes standard. La demande audience du jeton (aud, ensemble de chaînes de caractères) dépend de la demande initiale de jeton. Le champ aud peut contenir à la fois une audience correspondante à votre API personnalisée et une audience correspondante au point de terminaison /userinfo. Au moins une des valeurs audience pour le jeton doit correspondre à l’identifiant unique de l’API cible tel que défini dans vos Paramètres de votre API dans le champ Identifiant. Consultez Obtenir des jetons d’accès pour plus de détails.

  3. Vérifier les permissions Vérifiez que l’application a obtenu les permissions nécessaires pour accéder à votre API. Pour cela, vous devrez vérifier la revendication scope (portée, liste de chaînes de caractères séparées par des espaces) dans la charge utile décodée du JWT. Il doit correspondre aux autorisations requises pour le point de terminaison en cours d’accès. Par exemple, si votre API personnalisée propose trois points d’arrivée pour lire, créer ou supprimer un enregistrement utilisateur, lorsque vous avez enregistré votre API avec 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