メインコンテンツへスキップ
FreeOnlineTools Go
日本語
方法

JWT トークンをデコードしてクレームを安全に検査する方法

FreeOnlineTools Team 著 · 2026-09-02を更新しました

簡単な回答

JWT をデコードするには: トークンを JWT デコーダーに貼り付けると、ヘッダーとペイロードがフォーマットされた JSON として即座に表示されます。このツールは、Base64URL でエンコードされた部分をローカルでデコードします。トークンがブラウザーから離れることはありません。覚えておいてください: デコードすると内容だけが表示されます。署名は検証されません。

導入

JWT (JSON Web トークン) は、認証と情報交換に使用されるコンパクトで URL に安全なトークン形式です。 JWT には、header.payload.signature というドットで区切られた 3 つの部分があります。ヘッダーにはアルゴリズムとトークンの種類が指定され、ペイロードにはクレーム (ユーザー ID、ロール、有効期限) が含まれ、署名はトークンが改ざんされていないことを証明します。 JWT をデコードすると、デバッグのためにその内容を検査できますが、デコードでは信頼性が検証されません。このガイドでは、ブラウザーで JWT を安全にデコードする方法を説明します。

ステップバイステップ

  1. JWT デコーダー ツールを開く

    JWT デコーダー ツール ページに移動します。このツールは、任意の JWT 文字列 (ドットで区切られた 3 つの Base64URL エンコードされた部分) を受け入れます。

  2. JWT トークンを貼り付けます

    JWT を入力フィールドに貼り付けます。典型的な JWT は次のようになります: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature。このツールは 3 つのパーツを自動検出します。

  3. デコードされたヘッダーを確認します

    ツール Base64URL は最初の部分をデコードし、JSON として表示します。通常、ヘッダーには「alg」(HS256 などのアルゴリズム)と「typ」(タイプ、通常は「JWT」)が含まれます。

  4. デコードされたペイロード (クレーム) を確認します。

    このツールは 2 番目の部分をデコードし、クレームをフォーマットされた JSON として表示します。一般的なクレームには、「sub」 (件名/ユーザー ID)、「iat」 (発行日)​​、「exp」 (有効期限)、および「role」 (ユーザーの役割) が含まれます。

  5. 署名を確認する (3 番目の部分)

    ツールは署名部分を表示します。注: デコードでは署名は検証されません。検証するには、署名キーと検証ライブラリが必要です。サーバー側の署名を検証せずに、JWT の主張を決して信頼しないでください。

例

単純な JWT をデコードする

入力: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature

出力: Header: {"alg":"HS256","typ":"JWT"} Payload: {"sub":"user1","name":"Alice","iat":1693526400}

JWT 有効期限の主張あり

入力: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig

出力: Header: {"alg":"HS256"} Payload: {"sub":"admin","exp":1693612800}

よくある問題

  • デコードと検証の混同 — JWT をデコードすると、その内容が読み取られるだけです。トークンが本物であることを証明するものではありません。署名キーを使用してサーバー側の署名を必ず検証してください。
  • 期限切れのトークンを信頼する - 「exp」クレームを確認し、期限切れのトークンを拒否します。 「exp」値は、秒単位の Unix タイムスタンプです。
  • Base64 と Base64URL —JWT は Base64URL エンコードを使用します (パディングなし、+ と / の代わりに - と _)。標準の Base64 デコーダーは JWT パーツで失敗します。
  • ペイロード内の機密データ —JWT ペイロードは、トークンを持っている人なら誰でも読み取ることができます。パスワード、クレジット カード番号、その他の秘密をペイロードに保存しないでください。

ヒント

  • 主張を信頼する前に、必ずサーバー側で JWT 署名を検証してください。デコードだけでは認証ではありません。
  • 「exp」(有効期限) および「nbf」(以前ではない) クレームをチェックして、トークンが現時点で有効であることを確認します。
  • 長時間セッションの場合は、有効期間の短いトークン (15 ~ 60 分) をリフレッシュ トークンとともに使用します。トークンが漏洩した場合の被害を最小限に抑えます。
  • 安全なローカル デバッグには、JWT デコーダを使用してください。トークンがブラウザから離れることはありません。

関連ツール

関連ガイド

参考文献