日本語ツール一覧 / JWTデコーダー — claimsと有効期限をトークン送信なしで確認English version →

JWTデコーダー — claimsと有効期限をトークン送信なしで確認

JWTはドットで区切られた3つの部分——header.payload.signature——で構成されます。最初の2つは単なるbase64urlで、トークンを持つ人なら誰でも読めます(暗号化ではありません)。このツールはclaimsを展開し、exp/iatを読める日時に変換して、トークンが期限切れかどうかを即座に表示します(401エラーの原因第1位です)。

重要なのは、デコードが完全にブラウザ内で行われること。サーバー側で処理するサイトに本番トークンを貼るのは、有効な認証情報を手渡すのと同じです。ここではトークンは端末から出ません。とはいえ、一度でもどこかに露出したトークンは漏洩済みとみなしてローテーションするのが原則です。

使い方

  1. JWT全体を貼り付ける(「Bearer 」プレフィックスは外す)
  2. header、payload、日時変換済みの有効期限を確認する
  3. 署名を検証したい場合は、続けてJWT Signature Verifierを使う

よくある質問

誰でも読めるなら偽造もできてしまうのでは?
読むことは誰でもできますが、偽造して通すことはできません。サーバーは鍵で署名を検証しており、payloadを1文字変えるだけで署名が一致しなくなります。本当の教訓は「payloadに秘密を入れない」こと。トークン保持者全員に公開されているのと同じだからです。
expが1970年やあり得ない未来になるのはなぜ?
発行側が秒ではなくミリ秒を書き込んでいるからです(JWT標準はepochからの秒数)。13桁ならms、10桁なら秒です。
5つの部分があるトークンがデコードできません
それはJWE(暗号化JWT)です。payloadが本当に暗号化されており、鍵なしでは読めません。3部分のJWS(署名のみ)とは別物です。