JWTトークンのデコードと出力
JWTトークンの内部を簡単に確認する
目次
JWTトークンを直接コマンドラインからデコードおよび印刷するためのいくつかの効果的な方法を以下に示します:

1. jqを使用する
jqツールはJWTトークンをデコードし、整形して印刷するために使用できます:
-
コマンド:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'これはJWTをその構成要素(ヘッダーおよびペイロード)に分割し、Base64からデコードし、JSON形式に整形します。
-
例:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Bashスクリプト
base64とjqを使用してJWTトークンをデコードするカスタムBashスクリプトを作成できます:
-
スクリプト:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS " -
このスクリプトをファイル(例:
decode_jwt.sh)に保存し、実行可能にします(chmod +x decode_jwt.sh),トークンを引数として渡して実行します。
3. Zsh関数
.zshrcファイルに以下の関数を追加して、クイックアクセスを実現できます:
- 関数:
これはOpenSSLを使用してヘッダーとペイロードをデコードし、Pythonの
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "json.toolで整形します。
4. jwt-cliを使用する
JWTを簡単にデコードするためにはjwt-cliツールをインストールしてください:
-
インストール:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli -
コマンド:
jwt-cli decodeこのツールはJWTのエンコードおよび署名もサポートしています[2]。
5. OpenSSLを使用した最小限のワンライナー
追加のツールを使用せずにクイックな解決策が必要な場合:
- コマンド:
これは
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.toolawkを使用してトークンを分割し、base64を使用してデコードし、Pythonを使用して出力を整形します。