Démarrer Soumettre un site

Décodeur JWT

Developer Tools

Collez un JSON Web Token pour lire son en-tête, sa charge et son expiration exacte, décodé en local sans jamais l’envoyer.

Collez le jeton complet en trois parties, y compris les deux points.

Résultat

Statut —
  • Expiration —
  • Algorithme —
  • Type de jeton —
  • Charge utile —
  • En-tête —

Modifiez n'importe quelle valeur : le résultat se met à jour instantanément.

Formule et règles

  • Un JWT comporte trois parties Base64URL séparées par des points : en-tête, charge utile et signature.
  • Base64URL remplace + par - et / par _, et supprime le remplissage =, afin que les jetons restent valides dans les URL et les en-têtes HTTP.
  • La revendication exp est un horodatage Unix en secondes ; un jeton est donc expiré dès que l'heure actuelle dépasse ce nombre.
  • Le décodage ne lit que les deux parties JSON ; il ne vérifie jamais la signature, que le serveur doit contrôler.

Exemples détaillés

Décoder un jeton de démonstration

Entrée Le jeton prérempli, exp = 1700003600.

Résultat Algorithme HS256, type JWT, quatre revendications, expiration 2023-11-14 23:13:20 UTC.

Un jeton sans exp

Entrée Une charge utile de {"sub":"42","scope":"read"}.

Résultat Le statut indique que le jeton n'a pas de revendication d'expiration ; il n'expire donc jamais de lui-même.

Un jeton tronqué

Entrée abc.def

Résultat Une erreur explique qu'un JWT doit comporter trois parties avant tout décodage.

Questions fréquentes

Le décodage prouve-t-il que le jeton est authentique ?

Non. N'importe qui peut fabriquer un jeton avec la charge utile de son choix. Seul un serveur qui vérifie la signature avec la clé secrète ou publique peut déterminer si un jeton a été émis par vous.

Est-il sûr de coller un jeton de production ?

Le décodage s'effectue dans votre navigateur, le jeton n'est donc pas téléversé. Traitez-le néanmoins comme un mot de passe : privilégiez un jeton de test et renouvelez tout ce que vous collez sur un écran partagé.

Pourquoi un jeton récent est-il déjà expiré ?

Soit l'horloge de l'émetteur est en retard par rapport à la vôtre, soit une valeur exp en millisecondes a été fournie là où des secondes sont attendues. Cet outil lit exp en secondes, conformément à la spécification JWT.

Que se passe-t-il si l'en-tête ou la charge utile n'est pas du JSON ?

Le décodeur signale une erreur. La spécification JWT exige que les deux parties soient des objets JSON encodés en base64url ; une partie non JSON signifie donc généralement que la chaîne n'est pas un JWT.

Avertissement : Les résultats suivent la formule présentée sur cette page et sont donnés à titre indicatif. Les quantités réelles varient selon les matériaux, la technique et les conditions : prévoyez une marge avant de commander.