実用ガイド
JWT をローカルでデコードする方法
JWT のヘッダーとペイロードは通常 Base64URL でエンコードされているため、簡単に読めます。これはデバッグには便利ですが、本番トークンの扱いには注意が必要です。ローカルデコードなら、トークンをサーバーへ送らずに構造を確認できます。
無料ツールを開く手順
- 可能なら本番ユーザーのトークンではなく、開発環境の JWT をコピーします。
- JWT デコーダーに貼り付けます。
- アルゴリズム、タイプ、発行者、audience、subject、有効期限、nbf を確認します。
- exp や nbf をローカル時間で確認したい場合は、タイムスタンプ変換ツールも使います。
- デコードは署名検証ではないことを理解します。
- 信頼する前に、アプリケーション側で署名とクレームを検証します。
重要なポイント
- デコードされた JWT は読めるだけで、検証済みではありません。
- 実トークンを含むスクリーンショットを共有しないでください。
- alg の値に注意し、バックエンドで許可するアルゴリズムを制限してください。
- JWE 形式の暗号化トークンは、JWT デコーダーではなく JWE パーサーで protected header を確認します。
よくある質問
ローカルでデコードすると JWT は有効になりますか?
いいえ。ヘッダーとペイロードを読むだけです。信頼には署名検証とクレーム検証が必要です。
誰でも JWT をデコードできますか?
通常は可能です。JWE でない限り、ペイロードは暗号化ではなくエンコードです。
本番 JWT をツールに貼り付けてもよいですか?
信頼できるローカルツールで、確認権限がある場合を除き避けてください。