Skip to content

Déboguer les JWT sans fuite de secrets

Comment inspecter des problèmes JWT dans logs, tickets, CLI, captures et canaux incident sans propager de bearer tokens.

Publié le 3 min de lecture

Le débogage JWT commence souvent par quelqu’un qui colle un token dans le chat. Cela résout le mystère immédiat et crée un nouveau candidat incident. Les bearer tokens sont des credentials. S’ils entrent dans Slack, des tickets, des captures, la recherche de logs, l’historique navigateur ou un décodeur tiers, ils peuvent rester accessibles longtemps après la correction. Déboguer sûrement est une habitude, pas une préférence d’outil.

Expurger avant de partager

La plupart des questions JWT se résolvent avec l’en-tête et le payload, pas la signature, et souvent pas avec toutes les valeurs. Remplace sub, email, identifiants de session et tenant par des placeholders stables. Garde timestamps, émetteur, audience, algorithme et kid, car ces champs comptent souvent. Si la signature doit être testée, utilise un token staging ou une reproduction locale, pas une credential utilisateur vivante.

Un format d’expurgation utile garde la structure:

{"iss":"https://issuer.example","sub":"user_123_redacted","aud":"api","exp":1770000000}

C’est suffisant pour examiner durée, audience et forme des claims. Ce n’est pas suffisant pour rejouer la requête.

Des logs utiles sans danger

Les logs applicatifs devraient enregistrer résultat de vérification, émetteur, audience, kid, algorithme, âge du token et raison d’échec. Ils ne doivent pas enregistrer l’en-tête Authorization brut. Pour la corrélation, hache le token ou jti avec un sel côté serveur et logge le hash. Tu peux ainsi repérer une réutilisation sans transformer la plateforme de logs en coffre de credentials.

Habitudes d’outillage

Préfère des outils de décodage locaux qui n’envoient rien sur le réseau. Les décodeurs web conviennent aux exemples publics, pas aux tokens production. L’historique shell est une autre fuite: des commandes comme jwt decode eyJ... peuvent rester dans les fichiers d’historique. Utilise des fichiers aux permissions restreintes ou des outils qui évitent l’historique. Vide les gestionnaires de presse-papiers lors de manipulation sensible.

Support et canaux incident

Les équipes support ont besoin de scripts pour demander aux clients des tokens expurgés. Les équipes sécurité ont besoin d’une consigne standard en war room: pas de bearer tokens bruts, pas de captures contenant des en-têtes, pas de fichiers HAR transmis sans nettoyage. Les HAR sont particulièrement risqués, car ils contiennent cookies, en-têtes Authorization, URLs et corps de réponse dans un seul paquet pratique.

Workflow pratique

Pour déboguer, reproduis d’abord avec un compte de test. Capture l’erreur du vérificateur et les métadonnées du token. Si une preuve production est nécessaire, extrais seulement les champs minimaux avec un scrubber approuvé. Stocke les artefacts bruts, s’ils sont inévitables, dans le coffre d’incident avec expiration et contrôle d’accès. Cette discipline paraît lente jusqu’au jour où un token copié devient le second problème.

Articles liés

Notes de conception pour limiter le replay quand des bearer tokens fuient: jti, état de session, signaux appareil et rotation.
Les cas limites derrière le cache JWKS, la rotation de clés, les kid obsolètes et les vérificateurs résistants aux pannes.
Guide opérationnel pour les clés de signature JWT: génération, stockage, KMS, rotation, contrôle d’accès, audit et urgence.