Décoder et afficher le jeton JWT.

Examinez rapidement le contenu du jeton JWT.

Sommaire

Voici quelques méthodes efficaces pour décoder et afficher des jetons JWT directement depuis la ligne de commande :

Ce guide fait partie du Outils pour développeurs : Le guide complet des workflows de développement modernes cluster.

homme avec un grand écran affichant des données incompréhensibles

1. Utilisation de jq

L’outil jq peut être utilisé pour décoder et formater proprement les jetons JWT :

  • Commande :

    echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
    

    Cette commande divise le JWT en ses composants (en-tête et charge utile), les décode depuis Base64 et les formate au format JSON. Pour plus de détails sur les opérations Base64, consultez Encodage - décodage Base64 sur Windows, Linux et Mac.

  • Exemple :

    echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \
      | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
    

2. Script Bash

Un script Bash personnalisé peut décoder les jetons JWT en utilisant base64 et jq :

  • Script :

    #!/usr/bin/env bash
    function decode_jwt() {
        IFS='.' read -ra PARTS "
    
  • Enregistrez ce script dans un fichier (par exemple decode_jwt.sh), rendez-le exécutable (chmod +x decode_jwt.sh) et exécutez-le avec votre jeton en argument.


3. Fonction Zsh

Ajoutez la fonction suivante à votre fichier .zshrc pour un accès rapide :

  • Fonction :
    function jwt() {
        for part in 1 2; do
            b64="$(cut -f$part -d. "
    

Cela décode l’en-tête et la charge utile en utilisant OpenSSL et les formate avec json.tool de Python.


4. Utilisation de jwt-cli

Installez l’outil jwt-cli pour décoder facilement les JWT :

  • Installation :

    brew tap sgaunet/homebrew-tools
    brew install sgaunet/tools/jwt-cli
    
  • Commande :

    jwt-cli decode 
    

Cet outil prend également en charge l’encodage et la signature des JWT[2].


5. Une ligne minimale avec OpenSSL

Pour une solution rapide sans outils supplémentaires :

  • Commande :
    echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
    

Cela utilise awk pour diviser le jeton, base64 pour le décoder et Python pour formater la sortie.

Liens utiles