décoder | inspecter | vérifier

> décoder | inspecter | vérifier <

// Décodez et inspectez les JSON Web Tokens (JWT) instantanément

[SÉCURISÉ]

Traitement Local

Décodage JWT 100% côté client. Vos jetons ne quittent jamais votre navigateur.

[INSTANTANÉ]

Décodage Automatique

Décodez automatiquement les jetons JWT lors du collage ou de la saisie.

[GRATUIT]

Inspection Complète

Affichez l'en-tête, le payload et la signature. Vérifiez l'algorithme et l'expiration.

// À PROPOS DU DÉCODAGE JWT

Structure JWT:

Un JSON Web Token (JWT) se compose de trois parties encodées en Base64URL séparées par des points : en-tête.payload.signature. L'en-tête spécifie l'algorithme et le type de jeton. Le payload contient les revendications (données). La signature vérifie l'intégrité du jeton.

Exemple:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.signature → {"alg":"HS256"} + {"sub":"1234"}

Cas d'Utilisation:

  • >Débogage des jetons d'authentification dans les applications web
  • >Inspection des jetons OAuth 2.0 et OpenID Connect
  • >Vérification de l'expiration et des revendications des jetons
  • >Compréhension de la structure JWT selon RFC 7519
  • >Vérification de l'intégrité de l'encodage Base64URL

>> questions fréquemment posées

Q : Qu'est-ce qu'un JSON Web Token (JWT) ?

R : JWT (JSON Web Token) est un standard ouvert (RFC 7519) pour la transmission sécurisée d'informations entre parties sous forme d'objet JSON. Il est compact, sûr pour les URL et couramment utilisé pour l'authentification.

Q : Quelles sont les trois parties d'un JWT ?

R : Un JWT se compose de trois parties séparées par des points : l'En-tête (algorithme et type), le Payload (revendications et données) et la Signature (hash de vérification). Chaque partie est encodée en Base64URL.

Q : Peut-on décoder un JWT sans la clé secrète ?

R : Oui, l'en-tête et le payload d'un JWT peuvent être décodés par n'importe qui car ils sont simplement encodés en Base64URL (pas chiffrés). La clé secrète est uniquement nécessaire pour vérifier la signature.

Q : Quelle est la différence entre JWT et l'authentification par session ?

R : Les sessions stockent l'état sur le serveur avec un cookie d'identifiant de session. Les JWT sont sans état — le jeton lui-même contient toutes les informations nécessaires. Les JWT sont meilleurs pour les systèmes distribués et les API.

Q : Comment fonctionne l'expiration JWT ?

R : La revendication exp dans le payload JWT spécifie le temps d'expiration sous forme d'horodatage Unix. Après ce temps, le jeton doit être considéré comme invalide. Ce décodeur vérifie la revendication exp et indique si le jeton est encore valide ou expiré.

// Algorithmes de signature JWT courants

La valeur alg de l’en-tête définit la façon de signer. HS* utilise un secret partagé ; RS*, PS*, ES* et EdDSA utilisent des paires de clés.

algAlgorithme
HS256HMAC + SHA-256
HS512HMAC + SHA-512
RS256RSA PKCS#1 v1.5 + SHA-256
PS256RSASSA-PSS + SHA-256
ES256ECDSA P-256 + SHA-256
EdDSAEd25519

// Vérifier un JWT dans le code

Décoder ne vérifie rien. Lors de la vérification, indiquez toujours explicitement les algorithmes autorisés.

Node.js (jsonwebtoken)   jwt.verify(token, secret, { algorithms: ['HS256'] })
Python (PyJWT)           jwt.decode(token, key, algorithms=["HS256"])
PHP (firebase/php-jwt)   JWT::decode($token, new Key($key, 'HS256'))
Go (golang-jwt)          jwt.Parse(token, keyFunc, jwt.WithValidMethods([]string{"HS256"}))
Java (jjwt)              Jwts.parser().verifyWith(key).build().parseSignedClaims(token)

>> Autres questions

Q : Que signifient les claims standard iss, sub, aud, exp, nbf, iat et jti ?

R : iss est l’émetteur, sub le sujet (souvent l’identifiant de l’utilisateur), aud le destinataire prévu, exp l’expiration, nbf la date de début de validité, iat la date d’émission et jti un identifiant unique du jeton. Les dates sont en secondes Unix.

Q : Un JWT est-il chiffré ?

R : Un JWT signé classique (JWS) n’est pas chiffré, seulement encodé en Base64URL : tout le monde peut lire son contenu. La signature protège uniquement contre la falsification. N’y mettez pas de données sensibles, ou utilisez un JWE chiffré.

Q : Comment vérifier la signature d’un JWT ?

R : Il faut la clé : le secret partagé pour HS256 ou la clé publique pour RS256/ES256. Le serveur recalcule la signature de En-tête.Charge et la compare. Ce décodeur fonctionne dans le navigateur et ne vérifie pas la signature pour vous : utilisez une bibliothèque éprouvée.

Q : Quelles sont les erreurs de sécurité courantes avec JWT ?

R : Fréquentes : faire confiance à la valeur alg du jeton (notamment none), secrets HS256 faibles, absence de contrôle de exp, iss et aud, données sensibles dans la charge utile et jetons de longue durée stockés dans localStorage.

// AUTRES LANGUES