コンテンツへスキップ
EVOA Toolbox

JWTデコーダー

JSON Web Tokenのヘッダーとペイロードをデコードし、exp、iat、nbfを日時で表示します。デコードは検証ではありません。署名のチェックは行いません。

ブラウザー内でローカルに処理されます。テキストはアップロードされません。

ツールを読み込み中…

このツールでできること

JSON Web Tokenを貼り付けると、中身を読めます。トークンをヘッダー、ペイロード、署名に分割し、Base64urlの各パートをUTF-8としてデコードして、JSONを構文ハイライト付きで見やすく整形します。登録済みの時刻クレームである exp(有効期限)、nbf(有効開始日時)、iat(発行日時)は、読みやすい日時で表示され、お使いのデバイスの時計を基準にした「期限切れ」「まだ有効ではない」「現在有効」の表示も付きます。

重要:デコードは検証ではありません。JWTのヘッダーとペイロードはエンコードされているだけで暗号化されておらず、誰でも好きな内容のトークンを作成できます。このツールは、署名、発行者、オーディエンス、その他のクレームを一切チェックしないため、ここでデコードできたトークンでも、偽造、改ざん、失効している可能性があります。デコードできたというだけでトークンを信頼してはいけません。検証は、正しい鍵を使って、サーバー側で行う必要があります。

トークンは認証情報です。デコードはすべてブラウザー内で行われ、トークンがどこかに送信されることはありませんが、管理していないデバイスで本番環境の有効なトークンを貼り付けることは避けてください。また、トークンが alg「none」を名乗っている場合や署名がない場合は、安全でない、または偽造されたトークンの典型的な兆候であるため、警告が表示されます。

使い方

  1. 1トークン全体(ドットで区切られた3つの部分)を貼り付けます。先頭の「Bearer 」は自動的に取り除かれます。
  2. 2デコードされたヘッダーとペイロード、および exp、nbf、iat の日時を確認します。
  3. 3alg「none」や署名の欠落などの警告がないか確認します。
  4. 4必要に応じて、デコードされたJSONをコピーします。署名の検証は、ここではなく、ご自身のバックエンドで行ってください。

対応形式

JSONのヘッダーとペイロードを持つ、コンパクト形式のJWSトークン(header.payload.signature)。暗号化されたトークン(5つの部分からなるJWE)はデコードできません。

プライバシー

このツールはブラウザー上で動作します。入力されたデータはお使いのデバイス上で処理され、当社のサーバーには送信されません。

制限事項

  • 署名は検証されません。トークンが本物かどうか、サーバー上で現在も有効か、失効していないか、お使いのアプリケーション向けのものかどうかは、このツールでは判断できません。
  • 有効期限と有効開始のステータスはお使いのデバイスの時計から計算しており、時計がずれている可能性があります。また、サーバーは通常、ある程度の時計のずれを許容します。
  • 暗号化されたJWT(JWE)は5つの部分からなり、ペイロードを読めないため、ここでは不正な形式として報告されます。
  • 時刻クレームは、1970年からの秒数である必要があります。それ以外の値は、無効として表示されます。
  • そのほかのクレーム(iss、aud、sub、scope など)は表示されますが、解釈や検証は行われません。

よくある質問

デコードできたということは、そのトークンは有効なのですか?

いいえ。デコードは検証ではありません。ペイロードにどんな内容でも書いたトークンを、誰でも作成できます。トークンが信頼できるものになるのは、正しいシークレットまたは公開鍵で署名を確認し、さらに発行者、オーディエンス、有効期限などのクレームを検証した場合だけです。

トークンはサーバーに送信されますか?

いいえ。ブラウザー内でデコードされ、送信されることはありません。それでも、トークンはパスワードと同様に扱い、可能であれば期限切れのトークンやテスト用のトークンを使ってください。

alg「none」とはどういう意味ですか?

署名のないトークンであることを宣言しています。サーバーは、明示的に想定している場合を除き、これを拒否する必要があります。受け入れてしまうと、攻撃者が任意のペイロードを偽造できます。該当するトークンを見つけると、このツールは警告を表示します。

サーバーでは受け付けられるのに、期限切れと表示されるのはなぜですか?

お使いのデバイスの時計がサーバーの時計とずれているか、サーバーがある程度の猶予を許容している可能性があります。ここに表示されるステータスは、ローカルの時刻に基づく目安であり、正式な判定ではありません。

関連ツール