Aller au contenu
SPCXTools

Décodeur JWT

Décodez des JSON Web Tokens, vérifiez leur expiration et les signatures HMAC — en privé, dans votre navigateur.

Fonctionne en local — vos fichiers ne quittent pas votre appareil

Chargement de l’outil…

Comment utiliser : Décodeur JWT

  1. 1Collez un JWT (trois parties Base64URL séparées par des points) dans le champ Jeton, ou cliquez sur Charger un exemple.
  2. 2Lisez l'en-tête et la charge utile décodés en JSON formaté.
  3. 3Vérifiez la ligne de statut pour voir si le jeton est valide, expiré ou pas encore valide ; les revendications de temps sont affichées en dates lisibles.
  4. 4Pour les jetons HS256, HS384 ou HS512, saisissez le secret pour vérifier la signature localement.

Décoder les JSON Web Tokens

Un JSON Web Token (JWT) est une chaîne de caractères compacte utilisée pour transmettre des informations d'identité et de permission entre systèmes — le plus souvent en tant qu'en-tête Authorization: Bearer après une connexion. Il ressemble à du texte aléatoire, mais il est composé de trois parties encodées en Base64URL : un en-tête, une charge utile de revendications, et une signature. Ce décodeur JWT divise le jeton, décode les deux premières parties en JSON lisible et explique les revendications importantes. Le décodage et la vérification se font localement, votre jeton n'est donc jamais transmis.

Fonctionnalités

  • En-tête et charge utile décodés et formatés pour la lisibilité, chacun avec un bouton pour copier.
  • Explication des revendications de temps : iat, nbf, exp et auth_time convertis de timestamps Unix en dates dans votre fuseau horaire.
  • Vérification de l'expiration qui vous indique d'un coup d'œil si le jeton est expiré ou pas encore actif.
  • Vérification de la signature HMAC pour HS256, HS384 et HS512 en utilisant l'API Web Crypto de votre navigateur.
  • Fonctionne hors ligne après le chargement de la page ; aucune donnée n'est envoyée.

Quand l'utiliser ?

Débogage de l'authentification. Lorsqu'une requête échoue avec une erreur 401 Non autorisé, décodez le jeton pour vérifier s'il a expiré, s'il a été émis pour la bonne audience (aud) ou s'il contient les rôles et les portées (scopes) attendus.

Développement et test d'API. Vérifiez que votre serveur insère les revendications prévues dans le jeton, avec les dates d'expiration correctes, avant de le mettre en production.

Apprendre le fonctionnement d'OAuth et d'OpenID Connect. Les jetons d'identité (ID tokens) et les jetons d'accès (access tokens) des fournisseurs d'identité sont souvent des JWT. Décoder un jeton de test montre quelles informations le fournisseur partage sur un utilisateur.

Anatomie d'un JWT

header.payload.signature

  • En-tête — le type de jeton et l'algorithme de signature, par exemple {"alg":"HS256","typ":"JWT"}.
  • Charge utile — les revendications. Les revendications enregistrées incluent iss (émetteur), sub (sujet, généralement l'ID utilisateur), aud (audience), exp, nbf, iat et jti (ID du jeton). Les applications ajoutent des revendications personnalisées telles que name ou role.
  • Signature — créée en signant header.payload avec un secret (HMAC) ou une clé privée (RSA, ECDSA, EdDSA). Si quelqu'un modifie ne serait-ce qu'un seul caractère de l'en-tête ou de la charge utile, la signature ne correspond plus.

Comme la charge utile est seulement encodée, ne mettez jamais de secrets tels que des mots de passe dans un JWT. Pour décoder d'autres données Base64, utilisez l'outil Base64 ; pour inspecter n'importe quel timestamp, utilisez le Convertisseur de timestamp Unix.

Questions fréquentes

Est-il sûr de coller un vrai jeton ici ?
Le jeton est décodé et vérifié entièrement dans votre navigateur et n'est jamais envoyé à notre serveur. Cependant, un JWT est un identifiant — traitez-le comme un mot de passe, évitez de partager des jetons de production et préférez les jetons de test lorsque c'est possible.
Décoder un JWT prouve-t-il qu'il est authentique ?
Non. N'importe qui peut décoder l'en-tête et la charge utile car ils sont seulement encodés en Base64URL, pas chiffrés. Un jeton n'est fiable que si sa signature est vérifiée avec la bonne clé. Pour les jetons HMAC, vous pouvez vérifier ici en saisissant le secret ; les jetons RSA et ECDSA doivent être vérifiés avec la clé publique de l'émetteur dans votre application.
Que signifient exp, iat et nbf ?
exp (expiration time / date d'expiration) est le moment où le jeton cesse d'être valide, iat (issued at / émis le) est le moment où il a été créé, et nbf (not before / pas avant) est le moment à partir duquel il peut être utilisé. Les trois sont des timestamps Unix en secondes ; le décodeur les convertit en dates dans votre fuseau horaire.
Pourquoi est-il indiqué que le jeton est invalide ?
Un JWT doit avoir exactement trois parties séparées par des points, et les deux premières doivent être du JSON encodé en Base64URL. Vérifiez que vous avez copié l'intégralité du jeton sans le préfixe Bearer , les guillemets ou les sauts de ligne.
Peut-il décoder les jetons chiffrés (JWE) ?
Non. Les JWT chiffrés (JWE) ont cinq parties et leur charge utile ne peut être lue qu'avec la clé de déchiffrement. Cet outil gère les jetons signés (JWS), qui sont utilisés par la plupart des API.