portfolios.tools

Décodeur JWT et inspecteur de revendications

Décodez un JSON Web Token compact en trois parties pour examiner son en tête et ses revendications, puis comparez les revendications temporelles à l’horloge actuelle. Le décodage ne vérifie pas la signature et n’établit pas la confiance.

Saisie du jeton

Le jeton reste uniquement en mémoire dans la page et n’est pas enregistré. Au chargement, l’outil supprime tout jeton conservé par une ancienne version de cette page. Cet outil n’envoie aucun jeton à une API.

Pour apprendre le format, utilisez un jeton de test sans accès à un compte réel. Ne partagez pas un jeton susceptible de donner accès à un compte.

Structure du jeton décodée

Collez un JWT compact en trois parties pour examiner son en tête et son corps.

Fonctionnement de l’inspecteur JWT

Un JWT signé compact comporte trois parties Base64url séparées par des points : un en tête JSON, un corps JSON contenant des revendications et un segment de signature. Cet outil décode l’en tête et le corps en objets JSON UTF 8. Il ne vérifie ni la signature, ni l’émetteur, ni le public visé, ni les autorisations.

Saisissez un jeton compact en trois parties. L’en tête et le corps décodés s’affichent en JSON formaté, et le tableau présente des revendications courantes comme iss, sub, aud, exp, iat et nbf. Cet inspecteur ne prend pas en charge le format chiffré en cinq parties. Son en tête protégé peut être lisible en JSON, mais le corps chiffré et ses revendications ne peuvent pas être inspectés sans déchiffrement.

Les valeurs NumericDate de exp, iat et nbf sont interprétées comme des secondes depuis l’époque UTC, y compris les fractions de seconde. Les heures d’expiration et de début de validité sont comparées à l’horloge affichée. Les dates absentes et mal formées sont signalées séparément. Ces comparaisons ne valident ni le jeton ni ses revendications.

Un segment de signature indiqué comme présent signifie seulement que la troisième partie contient du texte. L’outil ne vérifie ni sa valeur cryptographique, ni l’algorithme, ni la clé de signature, ni l’émetteur. Considérez toutes les revendications décodées comme non fiables tant que le service émetteur n’a pas vérifié le jeton.

Étape par étape

  1. Collez un JWT compact en trois parties dans le champ du jeton.
  2. Examinez l’en tête décodé, le corps, le segment de signature et les revendications affichées.
  3. Comparez exp et nbf à l’horloge affichée, puis faites vérifier le jeton avec la clé et les règles attendues avant de vous y fier.

Exemple détaillé

Collez ce jeton exemple : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlIiwic3ViIjoidXNlci0xMjMiLCJhdWQiOiJhcGkuZXhhbXBsZSIsImV4cCI6MTg5MzQ1NjAwMCwiaWF0IjoxODkzNDUyNDAwLCJuYmYiOjE4OTM0NTI0MDB9.c2ln. Il se décode en un en tête avec alg HS256 et typ JWT, ainsi qu’en revendications d’émetteur, de sujet, de public visé, d’expiration, d’émission et de début de validité.

L’exemple possède un troisième segment non vide, donc l’affichage indique que du texte de signature est présent. Il ne vérifie pas cette signature. exp correspond à 00:00 UTC le 1er janvier 2030 ; iat et nbf correspondent à 23:00 UTC le 31 décembre 2029. La comparaison dépend de l’horloge actuelle.

Quand utiliser cet inspecteur

Utilisez cet outil pour afficher le JSON de l’en tête et du corps d’un jeton compact en trois parties pendant le développement ou le dépannage.

Utilisez un service de confiance distinct pour vérifier les signatures et les autorisations. Considérez le contenu décodé comme non fiable tant que ces contrôles ne sont pas réussis.

Erreurs d’interprétation courantes

Ne prenez pas un JSON lisible, un segment de signature présent ou une revendication exp non expirée pour une preuve d’authenticité. Le décodage et la comparaison des heures ne sont pas une vérification cryptographique.

Ne supposez pas que iss, aud, sub ou des permissions personnalisées sont vrais parce qu’ils figurent dans le corps. Un service doit vérifier la signature et appliquer ses propres règles de revendications et d’autorisation.

Structure JWT et revendications temporelles

JWT compact = Base64url(UTF8(en tête JSON)) . Base64url(UTF8(corps JSON)) . segment de signature

Expiration atteinte = heure UTC actuelle en secondes ≥ exp

Début de validité atteint = heure UTC actuelle en secondes ≥ nbf

NumericDate = secondes depuis le 01 01 1970 à 00:00:00 UTC

Cet outil inspecte la forme compacte signée en trois parties. Il décode strictement le Base64url sans remplissage et le texte UTF 8, et exige que l’en tête et le corps soient des objets JSON. Le résultat d’expiration ou de début de validité est une simple comparaison à l’horloge, pas une vérification de signature ni une décision d’authentification.

Portée et limites

Cette page inspecte un JWT compact en trois parties et décode son en tête et son corps. Elle ne vérifie pas les signatures, les algorithmes ou les clés, ne confirme pas l’émetteur ni le public visé, n’évalue pas les permissions et ne décide pas si une application doit accepter le jeton. Elle ne déchiffre pas les JWE en cinq parties, ne récupère pas de clés, n’appelle pas l’émetteur et ne contacte aucun service de jetons. Les nombres JSON dont la précision n’est pas prise en charge sont rejetés, et les dates affichées ont une précision à la milliseconde. Les revendications temporelles sont comparées à l’horloge du navigateur, qui peut différer de celle d’un service. L’outil n’enregistre pas le jeton, mais toute personne ayant accès à la page ouverte peut le voir.

Termes clés

JWT
JSON Web Token, une structure signée, protégée contre les modifications ou chiffrée qui représente des revendications.
Revendication
Valeur nommée dans le corps du jeton, par exemple un émetteur, un sujet, un public visé ou une heure.
NumericDate
Nombre de secondes depuis le 1er janvier 1970 à 00:00:00 UTC. Les fractions de seconde sont admises.

FAQ

Le décodage permet de savoir si le jeton est valide ?

Non. Le décodage montre seulement la structure lisible. Il ne prouve pas que le jeton vient d’un service de confiance ni que son contenu est fiable.

L’outil vérifie la signature ?

Non. Il indique seulement si le troisième segment contient du texte. Un vérificateur doit utiliser l’algorithme attendu et une clé de confiance pour l’émetteur du jeton.

Pourquoi les jetons en cinq parties ne sont ils pas pris en charge ?

Un JWE compact en cinq parties peut avoir un en tête protégé lisible en JSON. Le corps chiffré ne peut pas être inspecté comme revendications sans déchiffrement. Cet outil prend seulement en charge les JWT compacts en trois parties.

Que signifient exp, iat et nbf ici ?

Ce sont des revendications NumericDate exprimées en secondes depuis l’époque UTC. L’outil compare exp et nbf à l’horloge actuelle et affiche iat comme une date. Les valeurs absentes ou mal formées sont indiquées séparément. Ces comparaisons ne valident pas le jeton.

Que prouve la présence du segment de signature ?

Seulement que la troisième partie n’est pas vide. L’outil ne vérifie ni les octets de signature, ni l’algorithme, ni la clé, ni l’émetteur, ni le public visé, ni les permissions.

Outils associés

L’encodeur de corps Base64 peut examiner des parties encodées individuellement. Utilisez la documentation de votre fournisseur d’identité ou de votre service pour vérifier les signatures et les exigences relatives aux revendications.