Comprendre le décodage JWT
Les JSON Web Tokens (JWT) sont des jetons compacts et sécurisés pour les URL, utilisés pour l'authentification. Un JWT se compose de trois parties séparées par des points :
En-tête.Charge utile (Payload).Signature
- En-tête – contient le type de jeton et l'algorithme de signature
- Charge utile (Payload) – inclut des claims comme l'ID utilisateur, l'émetteur et l'expiration
- Signature – vérifie que le jeton n'a pas été modifié
Décoder un JWT aide à inspecter les valeurs et confirmer si un jeton est valide ou expiré.
Exemple de jeton JWT
Voici un exemple simple de JWT :
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjAwMDAwMDAwLCJleHAiOjE5MDAwMDAwMDB9
.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Décodé En-tête
{
"alg": "HS256",
"typ": "JWT"
}
Cela montre que le jeton utilise l'algorithme HS256.
Décodé Charge utile (Payload)
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1600000000,
"exp": 1900000000
}
Explication des champs clés :
- sub – identifiant de l'utilisateur (subject)
- name – nom d'affichage de l'utilisateur
- iat – heure d'émission du jeton
- exp – timestamp d'expiration après lequel le jeton est invalide
Vérification de la signature
La dernière partie est la signature, qui garantit :
- le contenu n'a pas été altéré
- le jeton provient d'une source fiable
La vérification s'effectue via :
- un secret partagé pour HS256
- une clé publique via JWKS pour RS256
Si la vérification échoue, le jeton ne doit pas être considéré comme fiable.
Quand utiliser un décodeur JWT
Les développeurs décodent les JWT pour :
- déboguer des problèmes d'authentification
- confirmer l'expiration du jeton
- inspecter les claims des fournisseurs d'identité
- valider les signatures lors des intégrations API
Cet outil permet une inspection rapide et sécurisée sans stocker vos jetons.
Questions fréquemment posées (FAQ)
C'est une chaîne compacte pour transmettre des informations de manière sécurisée.
Il convertit le jeton en JSON lisible pour inspecter l'en-tête et les claims.
Non. Le décodage ne fait que révéler le contenu.
La vérification contrôle la signature pour s'assurer que le jeton est authentique.
Oui. Nous ne stockons pas les jetons. Évitez de partager des jetons de production sensibles.
Vérifiez le claim 'exp' dans le payload.
Si l'heure actuelle dépasse ce timestamp, le jeton n'est plus valide.
C'est un endpoint public fournissant les clés pour vérifier les jetons RS256.
Raisons courantes :
- Mauvais secret ou clé publique
- Jeton modifié après émission
- Mauvais algorithme utilisé
- Jeton déjà expiré