Skip to main content
Aller au contenu principal

Vous êtes responsable de la gestion des clés et de la validation des résultats.

Décodeur JWT en ligne

Décodeur JWT sans vérification. Décodez en toute sécurité des jetons JWT pour inspecter l'en-tête et le payload. Lecture seule – aucune validation de signature. Vos jetons restent dans votre navigateur.

Décoder un jeton JWT

Un JWT valide comporte trois parties séparées par des points (xxx.yyy.zzz).

Analyser JWK / JWKS

Collez une clé JSON Web Key (JWK) ou un ensemble JSON Web Key Set (JWKS) pour inspecter sa structure.

Comment ça marche

Quand utiliser cet outil

  • 1Déboguez les problèmes d'authentification en inspectant le contenu des jetons JWT
  • 2Vérifiez les dates d'expiration des jetons et les horodatages d'émission
  • 3Inspectez les claims personnalisés et les permissions intégrées aux jetons
  • 4Analysez JWK/JWKS pour la gestion des clés et la configuration de la vérification
  • 5Comprenez la structure des jetons pendant le développement et les tests
  • 6Validez la structure et le format des jetons lors de l'intégration API

Conseils de sécurité

  • Cet outil décode uniquement les JWT – il ne vérifie PAS les signatures
  • Ne faites pas confiance à un JWT sans vérification appropriée de la signature sur votre serveur
  • Utilisez toujours HTTPS lors de la transmission des JWT pour éviter toute interception
  • Validez tous les claims (iss, aud, exp) avant d'accepter un JWT
  • Stockez les JWT en toute sécurité dans des cookies httpOnly ou un stockage sécurisé, pas dans localStorage
  • Faites tourner régulièrement les clés de signature et appliquez les bonnes pratiques de gestion des clés

Qu'est-ce que JWT ?

Le JSON Web Token (JWT) est une norme ouverte (RFC 7519) qui définit un moyen compact et autonome de transmettre en toute sécurité des informations entre parties sous forme d'objet JSON. Ces informations peuvent être vérifiées et fiabilisées car elles sont signées numériquement avec un secret (algorithme HMAC) ou une paire de clés publique/privée (RSA ou ECDSA).

Les JWT sont couramment utilisés pour l'authentification et l'échange d'informations dans les applications web modernes. Lorsqu'un utilisateur se connecte, le serveur génère un JWT contenant son identité et ses permissions. Le client inclut ensuite ce jeton dans ses requêtes, ce qui permet au serveur de vérifier l'identité sans conserver d'état de session.

Le principal avantage du JWT est son caractère sans état – le serveur n'a pas besoin de stocker les informations de session en base de données. Toutes les informations nécessaires sont contenues dans le jeton lui-même, ce qui rend le JWT idéal pour les systèmes distribués et les architectures de microservices.

Structure du JWT

Un JWT se compose de trois parties séparées par des points (".") : en-tête, payload et signature. Chaque partie est encodée en Base64Url.

1En-tête

Contient des métadonnées sur le jeton, notamment l'algorithme de signature (alg) et le type de jeton (typ).

{
  "alg": "HS256",
  "typ": "JWT"
}

2Payload

Contient les claims – des déclarations sur l'utilisateur et des données supplémentaires. Les claims sont classés comme enregistrés (standard), publics ou privés.

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022,
  "exp": 1516242622
}

3Signature

Garantit que le jeton n'a pas été altéré. Créée en signant l'en-tête et le payload encodés avec une clé secrète.

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  secret)

Claims JWT standard

iss

Émetteur – Identifie le principal qui a émis le JWT

sub

Sujet – Identifie le principal qui est le sujet du JWT

aud

Audience – Identifie les destinataires auxquels le JWT est destiné

exp

Heure d'expiration – La date à partir de laquelle le JWT ne doit plus être accepté

nbf

Pas avant – La date avant laquelle le JWT ne doit pas être accepté

iat

Émis à – La date à laquelle le JWT a été émis

jti

ID JWT – Identifiant unique du JWT

Cas d'usage courants

Authentification

Après la connexion, le serveur émet un JWT que le client stocke et envoie avec chaque requête, éliminant le besoin de stockage de session côté serveur.

Échange d'informations

Transmettez en toute sécurité des informations entre services. La signature garantit que les données n'ont pas été altérées pendant le transport.

Autorisation API

Les applications tierces peuvent accéder aux API au nom des utilisateurs via les flux OAuth 2.0 basés sur JWT, avec des portées de permission granulaires.

Authentification unique (SSO)

Les utilisateurs s'authentifient une fois et accèdent à plusieurs applications sans ressaisir leurs identifiants, les JWT transportant les assertions d'identité.

Considérations de sécurité

!

Cet outil est en lecture seule

Ce décodeur analyse et affiche uniquement le contenu du JWT. Il ne vérifie PAS les signatures. Ne faites pas confiance à un JWT sans vérification de signature sur votre serveur.

!

Utilisez toujours HTTPS

Les JWT contiennent des informations sensibles. Transmettez-les toujours en HTTPS pour éviter l'interception et le vol de jetons.

!

Définissez une expiration courte

Incluez un claim exp avec une courte durée de validité (ex. : 15 minutes). Utilisez des jetons d'actualisation pour les sessions prolongées.

!

Validez tous les claims

Validez l'émetteur (iss), l'audience (aud) et les autres claims pertinents avant d'accepter un JWT.

!

Stockage sécurisé

Stockez les JWT en toute sécurité. Dans les navigateurs, utilisez des cookies httpOnly quand c'est possible. Évitez de stocker les jetons sensibles dans localStorage pour les applications de production.

Outils connexes

Références

Questions fréquentes

Mon jeton est-il envoyé à un serveur ?

Non. Le JWT est décodé uniquement dans votre navigateur. L'en-tête et le payload sont affichés localement et rien n'est transmis.

Puis-je valider des ensembles de clés JWKS ?

Oui. Collez un ensemble JWKS pour analyser et valider sa structure localement, sans envoyer le jeton ni les clés où que ce soit.

Que ne dois-je jamais faire avec un JWT ?

Ne collez jamais un jeton dans un service en ligne en lequel vous n'avez pas confiance – les jetons contiennent des claims potentiellement sensibles. Un décodeur côté client les conserve sur votre machine.

Vos données restent sur votre appareil.