Analyseur JWT

Décodez et inspectez des JSON Web Tokens (JWT) avec validation en temps réel. Consultez l'en-tête, la charge utile et la signature de manière sécurisée dans votre navigateur.

Comment utiliser l'analyseur JWT

1

Coller le jeton

Paste your JWT token in the input area

2

Décodage automatique

Token automatically decodes on paste

3

Examiner les parties

View header, payload, and signature data

4

Vérifier le statut

Vérifiez la validité du jeton et son expiration

Comprendre les jetons JWT

Qu'est-ce qu'un JWT ?

Un JSON Web Token (JWT) est un moyen compact et compatible URL de représenter des claims à transférer entre deux parties. Il se compose de trois parties — en-tête, payload et signature —, séparées par des points et encodées en base64url.

  • Header: Contains token type and signing algorithm
  • Payload: Contains claims or user data
  • Signature: Verifies token wasn't tampered with
  • Stateless: No server-side session storage needed

Pourquoi analyser les JWT ?

L'analyse des JWT est essentielle pour déboguer les problèmes d'authentification, vérifier le contenu des jetons, contrôler les dates d'expiration et comprendre quelles données sont transmises dans les jetons.

  • Debugging: Inspect token contents during development
  • Security: Verify token structure and claims
  • Expiration: Check token validity period
  • Development: Understand authentication flow

Référence des claims JWT standard

Noms de claims enregistrés définis par RFC 7519 que vous verrez dans presque chaque charge utile de jeton.

Claim Nom complet Signification
issÉmetteurQui a créé et signé le jeton
subSujetDe qui parle le jeton — généralement l'identifiant de l'utilisateur
audPublicÀ qui le jeton est destiné (un client ou une API)
expExpirationUnix timestamp après lequel le jeton doit être rejeté
nbfPas avantUnix timestamp avant lequel le jeton est invalide
iatDate d'émissionUnix timestamp du moment où le jeton a été créé
jtiIdentifiant JWTIdentifiant unique, utile pour les listes de révocation

Algorithmes JWT courants

  • HS256 (HMAC + SHA-256) : Symétrique — un même secret partagé signe et vérifie. Simple, mais quiconque détient le secret peut falsifier des jetons.
  • RS256 (RSA + SHA-256) : Asymétrique — la clé privée signe, la clé publique vérifie. Le choix standard pour les systèmes distribués.
  • ES256 (ECDSA + SHA-256) : Asymétrique comme RS256, mais avec des signatures beaucoup plus courtes — un bon choix moderne par défaut.
  • aucun : Jeton non signé. Doit être rejeté par tout vérificateur sérieux; historiquement la source de vulnérabilités critiques de contournement.

Notes de sécurité

  • Ne collez jamais des jetons de production dans des outils inconnus. Cet analyseur fonctionne entièrement dans votre navigateur (vérifiez : il fonctionne hors ligne), mais ce n'est pas vrai de tous les sites.
  • Un JWT n'est pas chiffré. La charge utile est seulement encodée en base64url — quiconque détient le jeton peut la lire. Ne stockez jamais de secrets dans les claims.
  • Décoder, ce n'est pas vérifier. Une structure qui semble valide ne dit rien de la signature. La vérification exige la clé, qui ne quitte jamais votre serveur d'authentification.
  • Vérifiez exp côté serveur. Rejeter les jetons expirés est le travail du vérificateur, pas celui du client.

Quand les développeurs utilisent un analyseur JWT

Débogage des réponses 401 et 403

Vérifiez si le jeton contenait réellement les scopes, rôles ou la date d'expiration attendus avant d'incriminer le serveur.

Inspecter les jetons OAuth et OIDC

Décodez un id_token ou access_token et confirmez que iss, aud et sub correspondent à la configuration de votre application.

Assistance et dépannage

Vérifiez depuis une capture d'écran les claims réellement reçus par un utilisateur, sans installer aucun outil local.

Comprendre le fonctionnement des JWT

Collez des jetons d'exemple et voyez comment s'articulent en-tête, payload et signature.

Décodage instantané

Décodage automatique du JWT au collage, avec sections codées par couleur.

100 % privé

Tout le décodage se fait dans votre navigateur. Les jetons ne quittent jamais votre appareil.

Entièrement gratuit

Aucune inscription ni limite. Analysez librement des jetons JWT à tout moment.

FAQ sur l'analyseur de JWT

Est-ce sécuritaire de coller un JWT dans cet outil?

Oui. Le décodage s'exécute entièrement dans votre navigateur, sans aucun appel réseau — vous pouvez le vérifier en vous déconnectant d'Internet et en rechargeant la page. Cela dit, par mesure d'hygiène générale, évitez de coller des jetons de production nulle part.

L'analyse d'un JWT vérifie-t-elle sa signature?

Non. L'analyse ne fait que décoder en base64url l'en-tête et le payload. La vérification de la signature exige la clé de signature (secret HMAC ou clé publique), que seul votre serveur d'authentification détient.

Pourquoi n'importe qui peut-il lire le payload de mon JWT?

Les payloads de JWT sont encodés, pas chiffrés. Quiconque détient le jeton peut décoder et lire les claims — c'est voulu ainsi. Ne stockez jamais de secrets ni de données sensibles dans un payload de JWT.

Comment savoir quand un jeton expire?

Vérifiez le claim exp — un Unix timestamp après lequel le jeton doit être rejeté. Cet analyseur met automatiquement en évidence l'état du jeton (actif, expiré ou pas encore valide) selon exp et nbf.

Quelle est la différence entre HS256 et RS256 ?

HS256 est symétrique : un secret partagé sert à la fois à signer et à vérifier, donc quiconque peut vérifier les jetons peut aussi les falsifier. RS256 est asymétrique : une clé privée signe et une clé publique vérifie, ce qui est plus sûr lorsque plusieurs services doivent valider les jetons. Préférez RS256 ou ES256, sauf raison spécifique contraire.

L'en-tête de mon jeton indique "alg": "none" — est-ce un problème ?

Cela signifie que le jeton n'est pas signé. C'est une structure JWT valide, mais un vérificateur ne doit jamais l'accepter : la vulnérabilité JWT classique était l'attaquant qui mettait alg à none pour contourner les vérifications de signature. Si votre backend accepte des jetons non signés, considérez-le comme un bug de sécurité.