Décoder et imprimer le jeton JWT
Découvrez rapidement le contenu d'un jeton JWT
Voici quelques méthodes efficaces pour décoder et imprimer des tokens JWT directement depuis la ligne de commande :
1. En utilisant jq
L’outil jq
peut être utilisé pour décoder et afficher de manière structurée des tokens JWT :
-
Commande :
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
Cela divise le JWT en ses composants (en-tête et charge utile), les décode depuis Base64 et les formate en JSON.
-
Exemple :
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Script Bash personnalisé
Un script Bash personnalisé peut décoder des tokens JWT à l’aide de 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 token 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. "
Cette fonction décode l’en-tête et la charge utile à l’aide d’OpenSSL et les formate avec json.tool
de Python.
4. En utilisant jwt-cli
Installez l’outil jwt-cli
pour décoder facilement des JWT :
-
Installation :
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
Commande :
jwt-cli decode
Cet outil prend également en charge le codage et la signature des JWT[2].
5. Petite commande unique avec OpenSSL
Pour une solution rapide sans outils supplémentaires :
- Commande :
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Cette commande utilise awk
pour diviser le token, base64
pour le décoder, et Python pour formater la sortie.