JWTデコーダー

JWTを下に貼り付けてヘッダー、ペイロード、署名をデコード・検査します。注意:このツールは署名の検証は行いません。すべての処理はブラウザ内でローカルに行われます。

コピーしました!

トークン情報

JWTとは?

JSON Web Token(JWT)は、当事者間で安全に情報を伝達するためのコンパクトでURLセーフなトークン形式です。ドット(.)で区切られた3つの部分で構成されます:

  1. ヘッダー - アルゴリズムとトークンタイプ(例:HS256RS256
  2. ペイロード - クレーム/データ(例:subiatexp
  3. 署名 - トークンが改ざんされていないことを検証

トークンをデコードしても、それについて何かが証明されるわけではありません。ヘッダーとペイロードは base64url にすぎず、誰でも書き換えられるからです。重要なのは署名です。共有シークレットを貼り付ければ、HS256、HS384、HS512 についてはこのページがブラウザー内で検証します。ほかの方式は秘密鍵で署名し公開鍵で検証するもので、このようなページが貼り付けを求めるべきものではありません。時刻はご自身の時計に合わせ、差も添えて表示します。たいてい探しているのは有効期限だからです。

注意:このツールはトークンのデコードのみを行います。署名の検証は行いません。

それは実際どう保存していますか

ハッシュもトークンもパスワードも、周りのコード以上には強くなりません。既定のままのコスト係数、誰も有効期限を見ていないトークン、リポジトリに入ってしまった秘密鍵。当社はアプリケーションを診断して堅牢化し、攻撃者が最初に届く場所をお伝えします。

セキュリティ診断を依頼する

よくある質問

デコードできたら有効という意味ですか
いいえ。そこが避けたい誤解です。ヘッダーとペイロードは base64url にすぎず、誰でも書き換えて、きれいにデコードできるものを作れます。そのトークンが名乗るとおりの発行元から来たことを示すのは署名だけです。シークレットを貼り付ければ、このページが検証します。
ここで検証できるアルゴリズムはどれですか
共有シークレットで署名する HS256、HS384、HS512 です。RS、ES、PS のトークンは秘密鍵で署名し公開鍵で検証しますが、そのどちらもウェブページに貼り付ける習慣はつけないほうがよいものです。それらはご自身のコードで、公開されている鍵セットを使って検証してください。
alg が none のトークンは何を意味しますか
使える署名がまったくないという意味で、ペイロードは何とでも名乗れます。仕様上は別の方法で保護されたトークンのために存在しますが、ライブラリが既定で受け入れてしまう攻撃としてよく知られています。実運用のトークンで見かけたら、そのトークンは信頼できない入力として扱ってください。
本物のトークンをここに貼っても安全ですか
このページは何もアップロードしないので、ブラウザーの外には出ません。とはいえ有効なトークンは資格情報です。シークレット欄は保存される設定からもクエリ文字列からも意図的に除外してあり、誤って保存や共有がされないようにしています。自分の管理下にない場所に貼ったものは失効させてください。
有効期限に時間差が表示されるのはなぜですか
たいていそれが知りたいことだからです。4 分前に切れたトークンと 4 時間後に切れるトークンは、数値ではほとんど見分けがつきません。そこでページは両方をご自身の時計に合わせ、差も書き出します。サーバーのログと比べるときは UTC 表示にもできます。