概要

この JWT デコーダーは、JSON Web Token の内容をブラウザ内で直接確認するためのツールです。JWT や Bearer トークンを貼り付けると、ヘッダーとペイロードをデコードし、`iss`、`sub`、`aud`、`scope`、`iat`、`nbf`、`exp` などのクレームを読みやすく表示します。トークンが期限切れに見えるか、まだ有効前かも素早く確認できます。処理はすべてローカルで行われます。

使い方

入力欄に JWT もしくは Bearer トークンを貼り付けます。Bearer プレフィックスがある場合は自動で取り除かれ、トークンはピリオドで分割され、Base64URL 形式のヘッダーとペイロードが読みやすい JSON として表示されます。クレーム概要や時間クレームを確認し、必要に応じて結果をコピーまたはダウンロードしてください。このツールは署名検証を行わないため、内容確認用として利用してください。

特徴

  • ブラウザ内で JWT のヘッダーとペイロードをローカルにデコード
  • JWT 文字列と Bearer トークンの両方に対応
  • Header JSON と Payload JSON を見やすく表示
  • `iat`、`nbf`、`exp` の時間クレームを確認
  • アルゴリズム、issuer、subject、audience、scope、key ID を素早く把握
  • デコード結果をコピーまたは JSON としてダウンロード
  • 期限切れや未有効に見えるトークンに警告表示
  • サーバー送信なし、署名検証なし

JWT デコーダーで分かること

JWT は通常、ヘッダー、ペイロード、署名の 3 つのセグメントで構成されます。ヘッダーにはアルゴリズムやキー ID などのメタデータが入り、ペイロードには API やアプリが利用するクレームが入ります。たとえば、トークンの発行元、対象となる audience、いつ受け入れるべきか、いつ拒否すべきかなどです。

デコードと検証は別物

JWT をデコードするというのは、Base64URL でエンコードされた JSON を読み取ることです。これはトークンが本物であること、改ざんされていないこと、信頼できることを証明しません。署名検証には正しい秘密鍵や公開鍵が必要であり、アプリケーションや認証基盤で別途行う必要があります。

expnbfiat の見方

iat は発行時刻、nbf はそのトークンを受け入れてよい最も早い時刻、exp は期限切れの時刻を示すことが一般的です。通常は秒単位の Unix タイムスタンプです。認可の不具合を調べるときは、実際にアクセス制御を行っている端末やサーバーの時計と照らし合わせて確認してください。

よくある JWT のデバッグ場面

Bearer トークンがステージングで突然使えなくなったとき、API が 401 Unauthorized を返すとき、サービス間で audience が一致しないとき、あるいはモバイルアプリが更新後も古いトークンを使っているように見えるときに、このツールは役立ちます。署名鍵やセッション保存の調査に進む前に、まずトークン構造が正しいかを確かめる用途にも向いています。

JWT セグメント一覧

各セグメントは調査の目的が異なります。

セグメント主な内容実務上のメモ
Headerアルゴリズム、タイプ、キー ID署名方式やトークン形式の確認に便利
Payloadiss、sub、aud、exp などのクレーム認可文脈や時間条件の確認に便利
Signature暗号署名データ検証しない限り信頼性は保証されない

よく使われる JWT クレーム

トークンが拒否されたときに特によく確認される項目です。

Claim意味デバッグ時の確認ポイント
iss発行者想定した認証プロバイダーから発行されたか確認
sub主体ユーザー、アカウント、サービス主体を示すことが多い
audAudience受信側 API やリソースと一致する必要があることが多い
nbf有効開始時刻未来の値だと即座に拒否される原因になる
exp有効期限401 の典型的な原因のひとつ

よくある質問

この JWT デコーダーは署名を検証しますか?

いいえ。トークン内の読み取れる JSON をデコードするだけです。署名検証は正しい鍵を使って別途行う必要があります。

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

送信されません。デコード処理はブラウザ内でローカルに実行されます。

デコードできるのに API で失敗するのはなぜですか?

署名検証、audience、issuer、有効期限、not-before、時刻ずれ、scope 不足など、デコード以外の条件で拒否されることがあります。

HTTP ヘッダーからコピーした Bearer トークンも使えますか?

はい。`Bearer ` で始まる場合はプレフィックスを自動で取り除いてからデコードします。

2 セグメントしかないトークンも読めますか?

未署名または非標準のトークンでは署名セグメントが省略されることがあります。内容確認はできますが、署名済み JWT として扱うべきではありません。