JWT-Token entschlüsseln und drucken
Schnell einen Blick in den JWT-Token werfen
Hier sind einige effektive Methoden, um JWT-Tokens decoding und printing JWT tokens direkt von der Kommandozeile aus zu decodieren und zu drucken:
1. Verwendung von jq
Das Tool jq
kann verwendet werden, um JWT-Tokens zu decodieren und schön zu formatieren:
-
Befehl:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
Dies teilt den JWT in seine Komponenten (Header und Payload) auf, decodiert sie aus Base64 und formatiert sie als JSON.
-
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 mit base64
und jq
decodieren:
-
Skript:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS "
-
Speichern Sie dieses Skript in eine 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 schnellen Zugriff zu ermöglichen:
- Funktion:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Diese Funktion decodiert den Header und die Payload mit OpenSSL und formatiert sie mit Python’s json.tool
.
4. Verwendung von jwt-cli
Installieren Sie das Tool jwt-cli
, um JWTs einfach zu decodieren:
-
Installation:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
Befehl:
jwt-cli decode
Dieses Tool unterstützt auch das Codieren und Signieren von JWTs[2].
5. Minimaler Einzeiler 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
Dieser Befehl verwendet awk
, um den Token zu teilen, base64
, um ihn zu decodieren, und Python, um das Ausgabeformat zu formatieren.