Aller au contenu
🛠️ToolsShed

Débogueur JWT

Décodez et inspectez les en-têtes, charges utiles et l'expiration des JWT.

À propos de cet outil

Un JWT (JSON Web Token) est un format compact et encodé pour transmettre des informations de manière sécurisée entre les systèmes. Cet outil vous permet de décoder et d'inspecter instantanément le contenu de n'importe quel JWT, en révélant l'en-tête, la charge utile et les revendications stockées, sans avoir besoin d'outils externes ou de commandes de terminal.

Pour utiliser JWT Debugger, collez simplement votre JWT dans le champ de saisie et l'outil affichera immédiatement l'en-tête décodé (contenant l'algorithme et le type de jeton), la charge utile (avec les données utilisateur, le temps d'expiration et les revendications personnalisées) et si la signature du jeton est valide. Ceci est inestimable lors du développement d'API, du débogage des problèmes d'authentification ou de la vérification du contenu du jeton lors du dépannage.

Les cas d'usage courants incluent l'inspection des jetons d'authentification provenant de flux OAuth2, la validation des revendications personnalisées dans les microservices, la vérification des délais d'expiration des jetons et la compréhension des données intégrées dans vos jetons. Gardez à l'esprit que bien que l'outil puisse décoder n'importe quel JWT, il ne peut pas vérifier la signature sans la clé secrète—pour une validation complète, utilisez les bibliothèques côté serveur ou les API.

Questions Fréquentes

Implémentation du Code

import base64, json

def decode_jwt(token: str) -> dict:
    parts = token.split(".")
    if len(parts) != 3:
        raise ValueError("Invalid JWT format")
    
    def decode_part(part):
        # Add padding
        padded = part + "=" * (4 - len(part) % 4)
        decoded = base64.urlsafe_b64decode(padded)
        return json.loads(decoded)
    
    return {
        "header": decode_part(parts[0]),
        "payload": decode_part(parts[1]),
        "signature": parts[2],
    }

token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature"
decoded = decode_jwt(token)
print(json.dumps(decoded["payload"], indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.