Décoder un JWT ne vérifie pas sa signature

Lisez les déclarations sans confondre contenu décodable et authentification valide.

Lire ne prouve pas l’origine

Un JWT signé comporte généralement trois parties séparées par des points. En-tête et contenu utilisent souvent Base64url et se lisent sans secret. N’importe qui peut écrire un rôle administrateur dans un jeton inventé. Le service destinataire doit vérifier la signature et les déclarations pertinentes avant de leur faire confiance.

Contrôler les unités temporelles

exp, nbf et iat utilisent des secondes depuis l’époque Unix. Date en JavaScript attend des millisecondes : on multiplie normalement par 1000 pour afficher la date. Vérifiez le fuseau affiché. Une présentation locale différente ne rend pas valide un jeton expiré ; la tolérance d’horloge relève du serveur.

Vérifier avec une configuration fiable

Restreignez algorithmes et clés selon le fournisseur, puis contrôlez émetteur et audience. Un en-tête non fiable ne doit pas imposer l’algorithme accepté. Le décodeur lié fonctionne localement et précise qu’il ne vérifie pas la signature. Utilisez des jetons d’exemple dans les tickets, sans identifiants réels. Un jeton chiffré à cinq parties demande un autre traitement.

Outils associés

Sources et documentation