N Nouplo

JWTデコード

JSON Web Tokenを貼り付けるとヘッダーとクレームが読めます。トークンはブラウザから一切出ません。

出力
上に貼り付けるか入力すると、ここに結果が表示されます。

ファイルは端末の外に出ません

このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。

使い方

  1. Authorizationヘッダー、Cookie、ローカルストレージなどからトークンをコピーします。ドットで区切られた3つのBase64url文字列です。
  2. 入力欄に貼り付けます。先頭の「Bearer 」や前後の空白は自動的に無視されます。
  3. 「JWTをデコード」を押します。ヘッダーにはアルゴリズムとキーID、ペイロードには整形されたJSONでクレームが表示されます。
  4. 時刻に関するクレームを確認します。exp・iat・nbfはUnix秒の生の値と読みやすい日時の両方で表示されるため、有効期限切れかどうかが一目で分かります。

よくある質問

署名の検証は行われますか?
いいえ。このツールはヘッダーとペイロードをデコードするだけです。これらはBase64urlでエンコードされているだけで暗号化はされていません。署名の検証には発行者の秘密鍵または公開鍵が必要で、サーバー側で行う必要があります。正しくデコードできたというだけで、トークンのクレームを信頼してはいけません。
本物のアクセストークンを貼り付けても安全ですか?
デコードはすべてブラウザ内で実行され、トークンがNouploや第三者に送信されることはありません。ただし、有効なトークンは認証情報そのものです。パスワードと同じように扱い、共有端末や公共のPCでは貼り付けないようにしてください。
鍵がなくてもペイロードが読めるのはなぜですか?
一般的な署名付きJWT(JWS)は、もともと内容が読める設計です。Base64urlはエンコードであって暗号化ではありません。署名はトークンが改ざんされていないことを証明するだけで、中身を隠すものではありません。秘匿性が必要な場合はJWE(暗号化JWT)を使うか、機密情報をペイロードに含めないようにしてください。
exp・iat・nbf・iss・sub・audはそれぞれ何を表しますか?
expは有効期限、iatは発行時刻、nbfはそれ以前には受け付けてはいけない時刻で、いずれもUnix秒です。issは発行者、subは主体(通常はユーザーID)、audは想定される受け取り手を表します。ロールやスコープなどの独自クレームはプロバイダーによって異なります。
「トークンが無効です」と表示されます。なぜですか?
JWTはドット区切りでちょうど3つのパートを持ち、最初の2つはJSONにデコードできる有効なBase64urlでなければなりません。よくある原因は、コピーの途中で切れている、余分な引用符や改行が混ざっている、JWTではない不透明なセッションIDを貼り付けている、といったケースです。

関連ツール