JWT-Token decodieren und ausgeben
Werfen Sie einen kurzen Blick in einen JWT-Token.
Hier sind einige effektive Methoden, um JWT-Tokens zu decodieren und auszugeben direkt aus der Kommandozeile:
Dieser Leitfaden ist Teil des Clusters Entwickler-Tools: Der komplette Leitfaden zu modernen Entwicklungsumgebungen.

1. Verwendung von jq
Das Werkzeug jq kann verwendet werden, um JWT-Tokens zu decodieren und schön formatiert auszugeben:
-
Befehl:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'Dies teilt den JWT in seine Komponenten (Header und Payload) auf, decodiert sie von Base64 und formatiert sie als JSON. Für weitere Details zu Base64-Operationen, siehe Codierung – Decodierung von Base64 unter Windows, Linux und Mac.
-
Beispiel:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Bash-Skript
Ein benutzerdefiniertes Bash-Skript kann JWT-Tokens unter Verwendung von base64 und jq decodieren:
-
Skript:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS " -
Speichern Sie dieses Skript in einer Datei (z. B.
decode_jwt.sh), machen Sie es ausführbar (chmod +x decode_jwt.sh) und führen Sie es mit Ihrem Token als Argument aus.
3. Zsh-Funktion
Fügen Sie die folgende Funktion zu Ihrer .zshrc-Datei hinzu, um schnell darauf zuzugreifen:
- Funktion:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Dies decodiert den Header und die Payload unter Verwendung von OpenSSL und formatiert sie mit json.tool von Python.
4. Verwendung von jwt-cli
Installieren Sie das Werkzeug jwt-cli, um JWTs einfach zu decodieren:
-
Installation:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli -
Befehl:
jwt-cli decode
Dieses Werkzeug unterstützt auch die Codierung und Signierung von JWTs[2].
5. Minimale One-Liner-Lösung mit OpenSSL
Für eine schnelle Lösung ohne zusätzliche Tools:
- Befehl:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Dies verwendet awk, um den Token aufzuteilen, base64 zum Decodieren und Python, um die Ausgabe zu formatieren.