JWT デコーダー

JSON Web Token を貼り付けると、ヘッダー、ペイロードのクレーム、有効期限をデコードします。すべてブラウザ内で動作します。

JSON Web Token とは?

JSON Web Token(JWT)はオープンな標準仕様(RFC 7519)で、情報を JSON オブジェクトとして当事者間で安全にやり取りするための、コンパクトで自己完結した方法を定義しています。情報はデジタル署名されているため、検証して信頼できます。JWT は API 認証トークンやシングルサインオン(SSO)セッションで最も広く使われている形式です。

JWT の構造

JWT は 3 つの部分から成り、ドット(.)で区切られています:

各部分は Base64URL でエンコードされています(Base64 と似ていますが、+/ の代わりに -_ を使い、パディングはありません)。

この JWT デコーダーの使い方

  1. 上の入力ボックスに JWT を貼り付けます。
  2. JWT をデコード をクリックします。ヘッダーとペイロードがデコードされ、すぐに表示されます。
  3. 有効期限バッジ でトークンが期限切れかどうかを確認し、クレーム表 で発行者・サブジェクト・オーディエンスなどの主要なフィールドを確認します。
  4. 生の JSON を展開すると、ペイロードオブジェクト全体を確認できます。

よくある質問

JWT とは?
JSON Web Token(JWT)は、二者間でクレームを表現するために使われる、コンパクトで URL セーフなトークン形式です。ドットで区切られた 3 つの Base64URL エンコード部分から成ります:ヘッダー(アルゴリズムとトークンの種類)、ペイロード(クレーム/データ)、署名です。JWT は Web API の認証・認可で広く使われています。
JWT をここに貼り付けても安全ですか?
このツールは完全にブラウザ内で動作し、データがサーバーに送信されることはありません。ただし JWT はベアラートークンです。有効な JWT を持っている人は誰でもそれを使用できます。一般的な注意として、機密性の高いペイロードを含む本番環境の JWT を、いかなるオンラインツールにも貼り付けないようにしてください。可能な限りテスト用または期限切れのトークンを使いましょう。
このツールで JWT の署名を検証できますか?
いいえ。署名の検証には、シークレットキー(HS256 などの HMAC アルゴリズムの場合)または公開鍵(RS256 などの非対称アルゴリズムの場合)が必要です。このツールはヘッダーとペイロードをデコードするだけで、トークンが正規に発行されたものか、あるいは改ざんされているかを判断することはできません。
JWT のクレーム(claims)とは?
クレームとは、ペイロードにエンコードされた、サブジェクトに関する記述です。標準(登録済み)クレームには次のものがあります:iss(発行者)、sub(サブジェクト)、aud(オーディエンス)、exp(有効期限)、nbf(有効開始日時)、iat(発行日時)、jti(JWT ID)。アプリケーションは独自の(プライベート)クレームを定義することもできます。
有効期限のステータスは何を意味しますか?
exp クレームには、トークンが期限切れになる時刻を表す Unix タイムスタンプが含まれています。このツールは exp をお使いの端末のローカル時刻と比較します。「期限切れ」は現在時刻が exp を過ぎていることを意味し、適切に実装されたサーバーであればそのトークンを拒否すべきです。「有効」はトークンがまだ期限切れになっていないことを意味します。