JWT & JWE デバッガー

JSON Web Token のデコード、検証、署名、暗号化、復号を行えます。この JWT デバッガーで、JWT のヘッダーとクレームの確認、署名の検証、暗号化された JWE 形式との相互変換ができます。

お客様のデータの安全を最優先にしています。エンコード、デコード、暗号化、復号はすべてこのブラウザ内で行われます。このツールは JWT や JWE を保存したり、ブラウザの外に送信したりすることはありません。ソースコード: https://github.com/authgear/authgear-widget-jwt-debugger

JWT のエンコード/デコード
JWT をすばやく作成・確認できます。JWT を貼り付けてヘッダーとペイロードをデコードするか、テスト用に自分で組み立てます。
JWT の署名と検証
JWT 作成時に暗号署名を生成し、既存の JWT の署名を検証してトークンの真正性と完全性を確認します。
JWE 暗号化
公開鍵を使って任意の JWT を JWE に暗号化し、転送中もデータの機密性を保ちます。
JWE 復号
JWE トークンを復号して、ペイロードを含む元の JWT を取り出し、分析できます。

JWT & JWE デバッガーの使い方

ステップ 1.
JWT を貼り付けるか生成する:
  • JWT を入力すると、デコードされたヘッダーとペイロードが即座に表示されます。
  • ツールは JWT の署名を検証して真正性と完全性を確認し、トークンが有効か改ざんされているかを表示します。
ステップ 2.
署名を検証する(JWT 検証):
  • JWK または JWKS(jwk 形式 / jwks.json)を指定するか、PEM 公開鍵を貼り付けてトークンの署名を検証し、完全性を確認します。デバッガーは kid、alg、検証状況を表示します。
ステップ 3.
JWT に署名する / 作成する:
  • アルゴリズム(RS256、ES256、HS256 など)と署名鍵を選んで、署名付き JWT を組み立てます。JWT 認証フローのテストや、JWT のベストプラクティスを試すのに便利です。
ステップ 4.
JWT を JWE に暗号化する:
  • 公開鍵を使って署名付き JWT を JWE(JSON Web Encryption)に暗号化し、機密性のあるトークンを生成します。署名による完全性に加えてペイロードの機密性が必要な場合に JWE を使います。(使い分けはガイド「JWE と JWT の違い」をご覧ください。)
ステップ 5.
JWE を復号する:
  • JWE を貼り付けて秘密鍵を指定すると、復号して元の JWT を取り出せます。一般的な JWE アルゴリズムに対応し、ヘッダーのフィールドと enc パラメーターを表示します。
ステップ 6.
クレームを確認してデバッグする
  • クレームを表示し、exp/iat/nbf のロジックを確認し、わかりやすい警告(期限切れ、有効期間前)を確認できます。コピーボタンでトークンや鍵をローカルテスト用にエクスポートできます。

JWT (JSON Web Token)とは?

JWT(JSON Web Token)は、コンパクトで URL セーフな JSON オブジェクトとして当事者間で情報を安全にやり取りするためのオープン標準(RFC 7519)です。JWT は認証システムで広く使われており、ステートレスなセッション管理と API のセキュリティを実現します。標準的な JWT は次の 3 つの部分で構成されます:
ヘッダー: トークンの種類とハッシュアルゴリズムを指定します。
ペイロード: クレーム、つまりユーザーに関する主張と追加のメタデータを含みます。
署名: JWT の送信者が本人であることを検証し、途中でメッセージが改変されていないことを保証します。
主なユースケース:
ユーザー認証とシングルサインオン(SSO)
安全な API 認証と認可
アプリケーション間の情報交換
ヒント: ヘッダーとペイロードの各セグメントは Base64URL でエンコードされています。1 つのセグメントを無料の Base64 デコードツールに貼り付けると中身を確認できます。

JWE(JSON Web Encryption)とは?

JWE(JSON Web Encryption)は、コンテンツを暗号化して転送情報の機密性を確保するもう一つのオープン標準(RFC 7516)です。JWE は署名付き JWT などのコンテンツを暗号化された形式で包み、意図した相手だけが復号して読めるようにします。標準的な JWE の構造:
保護ヘッダー
暗号化された鍵
初期化ベクトル
暗号文(実際に暗号化されたコンテンツ)
認証タグ
主なユースケース:
転送中の機密性の高い JWT ペイロードを保護する
サービス間の機密データ交換を安全にする
標準的な JWT の上にセキュリティの層を追加する

JWT & JWE デバッガーのベストプラクティス

署名: JWT の送信者が本人であることを検証し、途中でメッセージが改変されていないことを保証します。
ペイロード: クレーム、つまりユーザーに関する主張と追加のメタデータを含みます。
ヘッダー: トークンの種類とハッシュアルゴリズムを指定します。