メインコンテンツへスキップ
SDETRole
SDETRole

JSON・データ

JWT デコーダー

JWT のヘッダーとクレームをデコードし、有効期限と危険な設定を確認。

すべてブラウザ内で動作 登録不要

Decoded locally in your browser. The token is never sent anywhere.

Encoded token

0 chars

Signature NOT verified

This tool only decodes the header and payload. Anyone can create a token with any claims; only verifying the signature with the secret (HS*) or the issuer’s public key (RS*, ES*, PS*, EdDSA) proves it is genuine. Do that in your test code or API, never by trusting decoded claims.

このツールについて

認証付きの API 呼び出しが 401 や 403 で失敗したとき、最初に知りたいのはトークンの中身です。誰に、どのオーディエンス向けに、どのロールで発行されたのか、有効期限は切れていないか。このデコーダーはトークンを分割し、Base64URL のヘッダーとペイロードをデコードして、登録済みクレームを表示します。exp、iat、nbf は日時と相対時間に変換されます。alg "none"、埋め込まれた鍵、リモートの鍵 URL など、セキュリティテストの対象にすべき設定も警告します。署名は検証しません。検証には秘密鍵または公開鍵が必要で、デコードしたクレームだけでは何も証明できません。

使い方

  1. トークンを貼り付けます。Authorization ヘッダーからコピーした先頭の「Bearer 」は自動で除去されます。
  2. ステータスバナーで有効期限を確認し、ヘッダーとペイロードのパネルを読みます。
  3. クレーム表を使って、iss、aud、sub を API が期待する値と比較します。
  4. 警告があれば確認します。API に対して実行すべきネガティブテストのヒントになります。

JWT デコーダー のよくある質問

本番のトークンをここに貼り付けても安全ですか?

デコードはすべてブラウザ内で行われ、トークンがどこかに送信されることはありません。ただし、利便性のため「Clear」(クリア)をクリックするまでこのブラウザのローカルストレージに保存されます。有効なトークンはパスワードと同様に扱い、できるだけテスト環境のものを使い、終わったらクリアしてください。

ここでは有効と表示されるのに API に拒否されるのはなぜですか?

有効期限はチェック項目の 1 つにすぎません。サーバーは署名、発行者、オーディエンスに加え、場合によっては時刻のずれを考慮した not-before の時刻や、トークンが失効していないかも検証します。aud や iss の不一致は、環境をまたいだときに 401 が返るよくある原因です。

alg「none」や HS256 を見つけたら何をテストすべきですか?

alg を "none" にして署名を除いたトークンと、署名は元のままでペイロードを改変したトークンを送り直します。正しい API ならどちらも拒否するはずです。HS256 の場合は、秘密鍵が十分に長くランダムであることも確認してください。弱い HMAC の秘密鍵は、取得されたトークンからオフラインで総当たりされる可能性があります。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →