Dekoduj i wydrukuj token JWT.
Szybkie spojrzenie wewnątrz tokena JWT
Oto skuteczne metody dekodowania i drukowania tokenów JWT bezpośrednio z linii polecenia:
Ten przewodnik jest częścią klastrowego przewodnika Narzędzia dla programistów: Kompletny przewodnik po nowoczesnych workflowach deweloperskich.

1. Użycie jq
Narzędzie jq można wykorzystać do dekodowania i ładnego wyświetlania tokenów JWT:
-
Polecenie:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'To polecenie dzieli token JWT na jego składowe (nagłówek i payload), dekoduje je z Base64 i formatuje jako JSON. Więcej informacji na temat operacji Base64 znajdziesz w artykule Kodowanie i dekodowanie Base64 na Windows, Linux i Mac.
-
Przykład:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Skrypt Bash
Niestandardowy skrypt Bash może dekodować tokeny JWT przy użyciu base64 i jq:
-
Skrypt:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS " -
Zapisz ten skrypt w pliku (np.
decode_jwt.sh), nadaj mu prawa wykonywania (chmod +x decode_jwt.sh) i uruchom go, podając token jako argument.
3. Funkcja Zsh
Dodaj następującą funkcję do swojego pliku .zshrc, aby uzyskać szybki dostęp:
- Funkcja:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Funkcja ta dekoduje nagłówek i payload przy użyciu OpenSSL, a następnie formatuje je przy pomocy json.tool z Pythona.
4. Użycie jwt-cli
Zainstaluj narzędzie jwt-cli, aby łatwo dekodować tokeny JWT:
-
Instalacja:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli -
Polecenie:
jwt-cli decode
To narzędzie obsługuje również kodowanie i podpisywanie tokenów JWT[2].
5. Minimalna jednopierścieniowa linijka z OpenSSL
Dla szybkiego rozwiązania bez dodatkowych narzędzi:
- Polecenie:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Polecenie to wykorzystuje awk do podziału tokenu, base64 do dekodowania oraz Pythona do formatowania wyjścia.