JWTデコード

JWTのヘッダーとペイロードをJSONとして表示。トークンを外部へ送信せずブラウザーで解析します。署名の検証は行いません。

ブラウザー内でJWTのヘッダーとペイロードを読み取れます。デコードは署名を検証せず、トークンの有効性を証明しません。

入力した内容はこのページ内で処理しますPUFFINMINT

値を設定

値を設定

3つの部分をドットで区切ったJWTを入力し、ヘッダーとペイロードのフィールドを確認します。 デコードは署名・発行者・権限の正当性を証明しません。暗号化されたJWEトークンには対応していません。

結果

値を入力して実行すると、ここに結果を表示します。

入力した値はこのページ内で保持します。再読み込みやページを閉じると消去します。

入力値やファイル内容を統計に含めず、どのツールが使われたかを集計します。 プライバシー

JWTデコーダーが役立つ場面

アプリや連携機能のデバッグ中に、トークンに含まれるフィールドを調べる際に使います。署名付きJWTでもペイロードは読める場合があります。base64urlによる符号化と暗号化は異なります。

トークンのデコード手順

  1. Bearerの接頭辞を除き、トークン本体だけを貼り付けます。
  2. デコードを実行し、2つのJSONオブジェクトを確認します。
  3. クレームをアプリの想定と照合します。expを日時にする場合はタイムスタンプ変換で秒を選びます。

ヘッダーとペイロードの読み取り方法

ドットで区切られた3つの部分が必要です。ヘッダーとペイロードをbase64urlからUTF-8へ変換し、JSONオブジェクトであることを確認して整形します。3つ目の部分は検証せず、空の署名でも構文上は受け付ける場合があります。

未検証のクレームを解釈する

結果にはheaderとpayloadが含まれます。その値はトークンが主張する情報であり、改変されている可能性があります。expの日時が読めても、真正性やアクセス権限の証明にはなりません。

ペイロードのクレーム
フィールド一般的な意味
sub対象の識別子
expUNIX秒による有効期限の申告値
iss / aud想定する発行者と対象者

例:学習用トークンを読み取る

形式を理解するための署名なしトークン

入力
eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIiwiZXhwIjoxNzA0MDY3MjAwfQ.
結果
{"header":{"alg":"none"},"payload":{"sub":"demo","exp":1704067200}}

例はalg=noneと空の署名を使います。sub=demoとexp=1704067200が表示され、後者はUTCで2024年1月1日00:00です。デコーダーは値を表示するだけで、有効期限切れかは判断しません。

実行しない検証と制限

上限は16,000文字です。暗号化された5分割のJWEや、JSONオブジェクトではないペイロードには対応しません。値は再読み込みまでページ内にあり、変換サービスへ送信しません。クレーム内のHTMLは文字列として表示し、実行しません。

出典・参考資料

よくある質問

読み取れたらアクセスを許可できますか?

いいえ。アプリ側でプロトコルに従い、署名、許可するアルゴリズム、発行者、対象者、時間条件を検証する必要があります。このツールは検証しません。

暗号化トークンを開けないのはなぜですか?

JWEには適切な鍵による復号が必要です。このツールは3分割のコンパクト形式を読むもので、復号は行いません。

お気に入り