Mode d’emploi
- Collez le jeton, avec ou sans le préfixe « Bearer ». Les trois parties sont colorées différemment.
- Lisez l’en-tête et la charge utile décodés. Les claims iat, nbf et exp sont affichés sous forme de dates avec le temps relatif.
- Pour vérifier la signature, saisissez le secret partagé pour HS256/384/512, ou collez la clé publique (PEM ou JWK) pour les jetons RS, PS, ES et EdDSA.
- Copiez le JSON décodé si vous en avez besoin ailleurs.
Explication des options
- En-tête
- Les métadonnées du jeton, en général alg (l’algorithme de signature) et typ. Un champ kid indique quelle clé l’a signé.
- Charge utile
- Les claims. Les claims enregistrés comprennent sub (sujet), iss (émetteur), aud (audience), iat (émis le), nbf (pas avant) et exp (expiration), tous les horodatages étant en secondes Unix.
- Signature
- Prouve que l’en-tête et la charge utile n’ont pas été modifiés. Pour la vérifier, il faut le secret (HMAC) ou la clé publique de l’émetteur (RSA, ECDSA, EdDSA).
- Le secret est encodé en Base64
- Certains services stockent les secrets HMAC encodés en Base64. Cochez cette case si le secret dont vous disposez est la forme encodée.
Claims courants
| Claim | Signification | Exemple |
|---|---|---|
sub |
La personne concernée par le jeton (ID utilisateur) | "1234567890" |
iss |
Qui l’a émis | "https://accounts.example.com" |
aud |
À qui il est destiné | "my-api" |
exp |
Date d’expiration, en secondes Unix | 1790427600 |
iat |
Date d’émission, en secondes Unix | 1790424000 |
nbf |
Non valide avant, en secondes Unix | 1790424000 |
jti |
Identifiant unique du jeton, pour empêcher le rejeu | "a1b2c3" |
Exemple
Le jeton eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c se décode en l’en-tête {"alg":"HS256","typ":"JWT"} et en une charge utile contenant sub, name et iat (18 janvier 2018). Avec le secret your-256-bit-secret, la signature est vérifiée.
Questions fréquentes
Est-il sûr de coller ici un JWT de production ?
Le jeton est décodé par JavaScript dans votre navigateur ; il n’est ni envoyé ni journalisé. Traitez néanmoins les jetons d’accès comme des mots de passe — quiconque détient un jeton valide peut l’utiliser jusqu’à son expiration.
Décoder un JWT prouve-t-il qu’il est authentique ?
Non. L’en-tête et la charge utile sont seulement encodés en Base64URL, donc n’importe qui peut les lire ou les falsifier. Seule une vérification réussie de la signature avec la bonne clé montre que le jeton a été émis par la partie attendue.
Pourquoi la vérification échoue-t-elle avec le bon secret ?
Vérifiez si le secret est encodé en Base64, s’il y a un espace ou un saut de ligne final, et si l’algorithme de l’en-tête correspond à celui qu’utilise l’émetteur. Toute modification du jeton, même d’un seul caractère, invalide aussi la signature.
Que signifie « alg none » ?
Le jeton se déclare non signé. Les serveurs doivent rejeter ces jetons sauf s’ils les attendent explicitement ; les accepter a déjà provoqué de véritables contournements d’authentification.
Comment obtenir la clé publique pour des jetons RS256 ?
Les fournisseurs d’identité publient leurs clés sous forme de JWKS, généralement à l’adresse /.well-known/jwks.json. Copiez la clé dont le kid correspond à l’en-tête du jeton et collez-la ici au format JWK.
Confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.