JWT デコーダー
どんな JSON Web Token でも読める無料の JWT デコーダーです。トークンを貼り付けると、ヘッダー・ペイロード・署名、標準クレームごとの解説、そして有効期限が切れているかどうかがわかります。デコードは完全にブラウザー内で行われ、トークンはどこにも送信されません。
JWT デコーダー
下に JSON Web Token を貼り付けてください。入力に合わせてブラウザー内でデコードされ、アップロードも保存もされません。
上にトークンを貼り付けるとデコードします。
まだ何もデコードしていません。
トークンは JavaScript でローカルにデコードされます。サーバーに送信されることも、記録されることも、保存されることもありません。ブラウザーのストレージにも残りません。
標準クレームの意味
JSON Web Token は、Base64url でエンコードされた 3 つの部分を 1 本の文字列にまとめたものです。署名方法を示すヘッダー、ユーザーとセッションに関するクレームを収めたペイロード、そして署名です。前の 2 つはエンコードされているだけで暗号化はされていないため、トークンを持つ人は誰でも読めます。このデコーダーは、その中身をそのまま見せてくれます。
主なメリット
よくある用途
使い方
- 1.トークンを貼り付ける。ドット 2 つを含めてトークン全体を貼り付けてください。先頭の
Bearerは自動で取り除かれます。 - 2.状態パネルを読む。署名アルゴリズム、鍵 ID があればその値、そして期限切れかどうかが表示されます。
- 3.クレームを確認する。標準クレームが先に並び、タイムスタンプは実際の日付に変換されます。独自のクレームはその後に続きます。
- 4.必要な部分をコピーする。ヘッダーとペイロードにはそれぞれコピーボタンがあり、チケットやテストにそのまま貼れます。
標準クレームの意味
ほとんどのトークンには、登録済みクレームがいくつか入っています。よく見かけるものと、それぞれが実際に何のためにあるのかをまとめました。
主な機能
- ヘッダー・ペイロード・署名を個別にデコード
- exp・nbf・iat を読みやすい日付と相対時間に変換
- 期限切れのトークン、まだ有効でないトークン、alg: none を警告
- 登録済みクレームを値のそばで解説
- デコードしたヘッダーとペイロードのコピーボタン
- ページ読み込み後はオフラインでも動作
- アカウント不要、アップロードなし、保存なし
デコードは検証ではありません
これはどの JWT デコーダーについても、そしてこのツールについても、いちばん大事な点です。デコードは Base64url を読み解いて JSON を見せるだけで、そのトークンが本物かどうかは何も証明しません。"role":"admin"と書いたトークンは誰でも作れますし、ここでは問題なくデコードされます。
トークンが本物だと示せるのは、発行者の鍵で署名を検証したときだけで、その処理はブラウザーのタブではなくサーバーで行うものです。ここに表示される内容は、調査用の読み出しであって証拠ではないと考えてください。またペイロードは単にエンコードされているだけなので、秘密の情報を入れてはいけません。JWT は持っている人全員に読めます。さらに詳しく、401 の原因になるクレーム、アルゴリズムの混同、JWT を失効させられない理由までは、JSON Web Token のデコードとデバッグのガイドをご覧ください。
よくある質問
JWT とは何ですか。⌄
JSON Web Token は URL でも安全に扱える短い文字列で、ドットで区切られた Base64url エンコードの 3 つの部分からできています。署名アルゴリズムを記したヘッダー、クレームを収めたペイロード、そして署名です。ログイン後のアクセストークンや ID トークンとして使われることが多いです。
ここで JWT をデコードしても安全ですか。⌄
デコードは JavaScript で完全にブラウザー内で行われます。トークンが当サイトのサーバーに送られることも、記録されることも、ブラウザーのストレージに書き込まれることもありません。ただしトークンは期限が切れるまで有効な資格情報です。貼り付ける場所では常にパスワードと同じように扱ってください。
署名は検証されますか。⌄
いいえ。ブラウザー上のツールが検証すべきでもありません。検証には発行者の秘密鍵または公開鍵が必要で、それはサーバーに置くものです。デコードはトークンの内容を見せるだけで、本物かどうか、改ざんされていないかは判断できません。
トークンが期限切れと表示されるのはなぜですか。⌄
exp クレームは秒単位の Unix タイムスタンプで、その時刻からトークンは無効になります。状態パネルはそれを実際の日付に変換し、どれくらい前に過ぎたかを表示します。思いがけない期限切れの原因としては、サーバーの時刻ずれがよくあります。
秘密鍵がなくてもトークンをデコードできますか。⌄
できます。ヘッダーとペイロードはエンコードされているだけで暗号化されていないため、トークンを持つ人は誰でも読めます。秘密鍵が必要なのは署名の確認だけで、中身を読むためには要りません。だからこそ、ペイロードに機密データを入れてはいけないのです。