JWT-token decoderen en afdrukken
Kijk snel naar binnen in een JWT-token
Hier zijn enkele effectieve methoden voor het decoderen en afdrukken van JWT tokens rechtstreeks vanaf de command line:
1. Gebruik van jq
Het jq
-hulpprogramma kan gebruikt worden om JWT-tokens te decoderen en netjes af te drukken:
-
Opdracht:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
Dit splitst het JWT in zijn onderdelen (header en payload), decodeert ze vanuit Base64 en vormt ze om naar JSON.
-
Voorbeeld:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Bash-script
Een aangepast Bash-script kan JWT-tokens decoderen met behulp van base64
en jq
:
-
Script:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS "
-
Sla dit script op in een bestand (bijvoorbeeld
decode_jwt.sh
), maak het uitvoerbaar (chmod +x decode_jwt.sh
) en voer het uit met je token als argument.
3. Zsh-functie
Voeg de volgende functie toe aan je .zshrc
-bestand voor snelle toegang:
- Functie:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Deze functie decodeert de header en payload met behulp van OpenSSL en vormt ze om met Python’s json.tool
.
4. Gebruik van jwt-cli
Installeer het jwt-cli
-hulpprogramma om JWTs gemakkelijk te decoderen:
-
Installatie:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
Opdracht:
jwt-cli decode
Dit hulpprogramma ondersteunt ook het coderen en ondertekenen van JWTs[2].
5. Minimalistische enkelregel met OpenSSL
Voor een snelle oplossing zonder extra tools:
- Opdracht:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Deze methode gebruikt awk
om het token te splitsen, base64
om het te decoderen en Python om het resultaat af te drukken.