Guides

Comment lire un JWT sans le traiter comme vérifié

Décodez l’en-tête et la charge utile d’un JSON Web Token, et gardez la signature dans la colonne non vérifiée où elle doit être.

Un JWT compact est trois morceaux de texte séparés par des points : un en-tête, une charge utile et une signature. L’en-tête et la charge utile sont du JSON encodé en Base64URL. N’importe qui peut les décoder. La signature permet à un vérificateur de décider si ces octets ont été produits par quelqu’un qui détient la clé.

Ce que montre le décodeur

Le Décodeur JWT affiche l’en-tête, la charge utile et le segment brut de la signature. Il définit signature_verified à false sur chaque résultat. Ce n’est pas un échec de l’outil. La page n’a pas la clé de signature et ne doit pas prétendre en avoir vérifié une.

Si l’algorithme est none, ou si le segment de signature manque, la ligne d’état indique que le jeton n’est pas authentifié. N’envoyez pas ce jeton à une API en vous attendant à ce qu’elle lui fasse confiance.

Les claims sont des données, pas un verdict

exp, iss et aud sont utiles à lire. Voir une heure d’expiration ne signifie pas que le jeton est actuel, car la signature n’a pas été vérifiée et l’horloge de cette page n’est pas une décision d’autorisation. Utilisez un vérificateur dans le système qui détient la clé lorsque vous avez besoin d’un oui ou d’un non.

Ne collez pas un jeton d’accès de production sur un ordinateur partagé. Le décodeur s’exécute en local, mais l’appareil que vous utilisez peut quand même se souvenir de ce que vous avez saisi.