Décodeur et vérificateur de JWT
Épingler à vos outilsDécodez un JSON Web Token, vérifiez son expiration et ses claims, et contrôlez sa signature avec un secret ou une clé publique.
Fonctionne entièrement dans votre navigateur. Ce que vous saisissez n’est jamais envoyé à nos serveurs.
Charge utile
Un secret pour HS256/384/512, une clé publique au format PEM (SPKI ou certificat) pour les autres, ou un JWK ou JWKS (la clé est choisie d’après le kid du jeton). La clé n’est jamais partagée ni enregistrée.
historique · 0
Les saisies traitées apparaissent ici tant que cette page est ouverte. Recharger la page efface la liste.
Exemples de code
Copiez ces exemples dans votre propre projet. Chacun n'utilise que la bibliothèque standard du langage : il n'y a rien à installer.
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')
console.log(JSON.stringify(JSON.parse(json), null, 2))Ce que fait l’outil
Décodez un JSON Web Token pour lire son en-tête et sa charge utile, voir s’il a expiré, et vérifier sa signature avec un secret ou une clé publique. Le jeton est décodé dans votre navigateur, cette page n’affiche aucune publicité, et le jeton et la clé ne sont jamais partagés ni enregistrés.
Comment l’utiliser
- Collez le jeton. Un préfixe
Beareret les sauts de ligne sont ignorés. - Lisez la charge utile en JSON formaté ou compact. En dessous, vous voyez l’algorithme, le statut, et les heures
exp,nbfetiatavec leur écart par rapport à maintenant. - Pour vérifier la signature, saisissez la clé : un secret pour HS256, HS384 et HS512, ou une clé publique (PEM ou JWK) pour RS, PS, ES et EdDSA.
- Basculez l’en-tête et la charge utile entre JSON et Claims : Claims liste chaque claim avec sa signification et affiche les claims de temps sous forme de dates.
- Ouvrez l’onglet Encoder pour écrire un en-tête et une charge utile et les signer avec un secret ou une clé privée (PEM PKCS#8 ou JWK). Rien sur cet onglet n’est enregistré, partagé ni ajouté à l’historique.
Exemples
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
La charge utile de ce jeton :
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
Sa signature se vérifie avec le secret your-256-bit-secret.
À savoir
- Décoder n’est pas vérifier : la charge utile est seulement encodée, pas chiffrée, et n’importe qui peut la lire.
- Votre serveur doit vérifier la signature avant de faire confiance à un claim.
- Un jeton avec l’algorithme
nonen’est pas signé : n’importe qui a pu le fabriquer. - Traitez les jetons actifs comme des mots de passe. Préférez des jetons expirés ou de test quand vous en collez un ici.
- Un JWKS collé est parcouru à la recherche du
kiddu jeton, et un JWK seul est utilisé tel quel. La page ne récupère jamais d’ensemble de clés auprès de l’émetteur du jeton. - Un secret HMAC plus court que son hachage (32, 48 ou 64 octets) peut être deviné : la page vous avertit. Un secret peut être lu comme du texte UTF-8 ou comme du Base64URL.
Qu'est-ce qu'un JWT ?
Un JSON Web Token est formé de trois parties Base64URL jointes par des points : un en-tête qui nomme l'algorithme de signature, une charge utile avec des claims (à qui le jeton est destiné, quand il expire) et une signature. N'importe qui peut lire les deux premières parties ; seule la signature prouve que le jeton vient de quelqu'un qui détient la clé.
Questions fréquentes
Décoder un jeton, est-ce le vérifier ?
Non. Décoder ne fait que lire le contenu, qui n'est pas chiffré. Vérifier contrôle la signature avec la clé, et votre serveur doit le faire avant de faire confiance à un claim.
Que signifient exp, nbf et iat ?
exp est l'instant d'expiration, nbf l'instant avant lequel le jeton n'est pas valide et iat l'instant d'émission, tous en secondes depuis 1970. Cet outil les compare à l'horloge de votre appareil.
Puis-je coller ici un vrai jeton sans risque ?
Le jeton est décodé dans votre navigateur et jamais envoyé à nos serveurs, et cette page n'affiche aucune publicité. Traitez tout de même les jetons actifs comme des mots de passe : préférez des jetons expirés ou de test.