Decode dan cetak token JWT
Lihat dengan cepat isi dari token jwt
Berikut adalah beberapa metode efektif untuk membaca dan mencetak token JWT secara langsung dari baris perintah:
1. Menggunakan jq
Alat jq
dapat digunakan untuk membaca dan menampilkan token JWT secara rapi:
-
Perintah:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
Ini membagi token JWT menjadi komponen-komponennya (header dan payload), mendekode dari Base64, dan memformatnya sebagai JSON.
-
Contoh:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Skrip Bash
Sebuah skrip Bash khusus dapat digunakan untuk membaca token JWT dengan menggunakan base64
dan jq
:
-
Skrip:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS "
-
Simpan skrip ini ke dalam sebuah file (misalnya,
decode_jwt.sh
), buat file tersebut dapat dieksekusi (chmod +x decode_jwt.sh
), dan jalankan dengan token sebagai argumen.
3. Fungsi Zsh
Tambahkan fungsi berikut ke file .zshrc
Anda untuk akses cepat:
- Fungsi:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Ini mendekode header dan payload menggunakan OpenSSL dan memformatnya dengan json.tool
dari Python.
4. Menggunakan jwt-cli
Pasang alat jwt-cli
untuk membaca token JWT dengan mudah:
-
Instalasi:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
Perintah:
jwt-cli decode
Alat ini juga mendukung enkripsi dan penandatanganan token JWT[2].
5. One-liner Minimal dengan OpenSSL
Untuk solusi cepat tanpa alat tambahan:
- Perintah:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Ini menggunakan awk
untuk membagi token, base64
untuk mendekode, dan Python untuk memformat output.