メインコンテンツへスキップ
サーバー送信なし: デコードは端末上の JavaScript で実行されます。本ツールは 署名検証を行いません。 公開鍵での検証や秘密鍵での署名生成は、攻撃支援を避ける目的で意図的に省略しています。

上のフィールドに JWT を貼り付けると、各部分をデコードして表示します。

このツールでできること / できないこと

  • Header / Payload の base64url デコードと JSON 整形表示
  • exp / iat / nbf / auth_time の UNIX 秒を ISO 8601 と日本語形式に変換
  • exp 過ぎ・nbf 未満などの時間妥当性チェック(表示のみ)
  • 署名検証はしません(鍵が必要、検証はサーバー側で実施すべきため)
  • JWT 生成・署名はしません(攻撃支援回避)

JWT を扱う際に注意すべきポイント

JWT は「自己完結型トークン」という性質ゆえに、誤った使い方による被害が後を絶ちません。 開発者が押さえておくべき基本は以下です。

  • Payload は 誰でも読めます。機密情報(PII、内部 ID 以外の業務情報)は載せないでください。
  • 署名アルゴリズムは alg: none や HS256 と RS256 の取り違えに注意。サーバー側で許可する alg を固定する。
  • iss / aud / exp / nbf をすべて検証してから払い出し情報を信頼する。
  • 失効が必要な場合は短命の exp + リフレッシュトークン、もしくはサーバー側のブラックリストで対応。
  • 長期セッションは Cookie ベース(HttpOnly / Secure / SameSite=Lax 以上)も検討する。
ESC