本文へ移動

JWT ​

JWT ユーティリティは JSON Web Token をデコードして検査し、秘密鍵なしで構造、クレーム、セキュリティ特性を確認できます。

ツールの使い方 ​

  1. 入力フィールドに JWT を貼り付けます。標準のドット区切りの 3 部構成を受け付けます。
  2. ツールがヘッダーとペイロードを自動で分割し、Base64 デコードします。
  3. 下の 3 つの領域でデコード結果を確認します。

検査に鍵情報は必要ありません。署名検証は別の操作です。

デコード結果の領域 ​

アルゴリズム(alg)と鍵 ID(kid)を表示します。アルゴリズムに関する警告もここに表示されます。

条件警告レベル
alg: none緊急:トークンに署名がない
alg: HS256注意:共通鍵方式。弱い秘密値では総当たり攻撃が可能
alg: RS256 または ES256警告なし

ペイロード ​

すべてのクレームを値と推定型とともに表示します。デコードされる標準クレームは次のとおりです。

クレーム意味
iss発行者
sub主体(通常はユーザー ID)
aud想定される受信者
exp有効期限
nbf有効期間の開始時刻
iat発行時刻
jtiJWT ID(トークンの一意な識別子)

カスタムクレームは標準クレームの下に表示されます。

有効期限の確認 ​

トークンに exp クレームがある場合、現在時刻と比較して次のいずれかを表示します。

  • 有効:トークンの期限は切れていません。
  • 期限切れ:有効期限を過ぎています。期限切れからの経過時間も表示します。
  • 有効期限なし:トークンに exp クレームがありません。

署名 ​

Base64url エンコードされた署名をそのまま表示します。鍵を指定しない限り、検証は試みません。この領域は参照用であり、署名の存在を確認するためのものです。

確認すべき点 ​

  • 一部のライブラリは alg: none のトークンを検証なしで受け入れます。対象アプリケーションが受け入れるかテストしてください。
  • 長期間有効なトークン(exp が iat の何日も、あるいは何年も先)は、アプリケーションがトークンをローテーションしていない可能性を示します。
  • 暗号化されていないペイロードのクレームに保存された機密データ(個人識別情報、内部 ID、ロールのフラグ)は、トークンを持つ誰でも読み取れます。
  • jti のないトークンは個別に失効させることができません。

プロプライエタリソフトウェア。すべての権利を保有します。