JWT デコーダーとは
JWTトークンをデコードして内容を確認するツール。JWT(JSON Web Token)は認証や認可で使われる暗号化トークンで、ヘッダー・ペイロード・署名の3部で構成されます。Base64エンコードされているため直接は読めませんが、このツールでデコードすれば、トークンに格納されたユーザー情報の確認やセキュリティ検証ができます。
使い方ガイド
1. JWTトークンをコピー(認証API、ブラウザDevTools、ログから取得)
2. トークン文字列をテキストボックスに貼り付け
3. 自動的にデコード処理が開始
4. ヘッダー、ペイロード、署名が3つのセクションに分かれて表示
5. ペイロード内の各クレーム(ユーザーID、有効期限など)を確認できます。
活用シーン
・API認証デバッグ:開発中のRestful APIがトークンを正しく発行しているか、ペイロードの user_id や role が期待値で格納されているか確認
・セッション有効期限確認:exp(expiration)クレームから、トークンの有効期限までの残り時間を計算して検証
・サードパーティサービス連携:OAuth 2.0でGoogle/GitHubから取得したトークンが本物か、署名検証前に内容を確認
・セキュリティインシデント対応:不正利用の疑いで、トークンに何が含まれていたか、または有効期限が切れていないか調査
よくある間違いと解決法
・誤り:署名検証なしにトークン内容を信頼する → 解決:デコード後、署名セクションも確認し、正しい秘密鍵で署名されているか検証
・誤り:有効期限切れのトークンに気づかず使用 → 解決:expクレームの値(UNIXタイムスタンプ)を現在時刻と比較
・誤り:トークン内に機密情報(パスワード等)が格納されたまま → 解決:ペイロードは誰でも読めるため、機密情報は含めない設計に変更
知っておきたいポイント
JWTの構造は「ヘッダー.ペイロード.署名」で、各部がドット(.)で区切られています。署名があるから改ざんは防止できますが、ペイロード自体は Base64 エンコード(暗号化ではなく符号化)のため、トークンを見れば誰でも内容が読めます。したがって機密情報はペイロードに入れず、サーバー側で別途管理する必要があります。exp(有効期限)と iat(発行時刻)の2つのタイムスタンプは必ず確認しましょう。
ToolBox