自動処理の範囲を知る
自動デコードは編集から350ミリ秒後に動作します。無効にするとデコードボタンやCtrl/Cmd+Enterを使えます。署名検証とテスト生成は自動実行しません。
公開鍵の確認
内容を読んでから、想定するアルゴリズムと公開鍵を指定します。
トークンと鍵はこのページのメモリ内だけで処理します。リモート鍵の取得や入力の保存は行いません。
未検証:デコードはトークンの有効性を保証しません。
想定するアルゴリズムを自分で選択してください。署名の一致は発行者の身元、権限、失効状態、全体の有効性を証明しません。
単一の公開JWKまたはSPKI PEM PUBLIC KEY。RS256は2048–8192ビットRSA、ES256はP-256が必要です。秘密鍵とリモートJWKSは受け付けません。
exp、nbf、iatは署名とは別に確認します。本ツールは未来のiatを不合格とします。欠けた時刻は欠落と表示し、発行者や対象者が空欄なら未確認です。UTC表示はミリ秒精度で、元の小数値はレポートに残ります。
上限:トークン100,000文字、公開鍵20,000文字、テストクレーム50,000文字。厳密なbase64url、UTF-8、JSONオブジェクトのみ。重複キーや変換で値が変わる数値は拒否します。
コンパクト形式のJWTを貼り付けてください。
JWTデコードは、APIに拒否されたトークンの中身を調べる出発点です。ヘッダー、発行者、対象者、日時を見比べ、想定したトークンが送信されているか確認できます。初期状態の署名は未検証です。
JWTデコーダーが読めるのはbase64urlで表現されたデータです。JWT署名検証には別途公開鍵が必要で、JWT有効期限の確認とは目的が異なります。読み取りだけでアクセス許可を判断しないでください。
JWTデコード後も、署名と日時の判定は独立しています。期限切れでも署名が一致する場合や、正常なJSONでも署名が不正な場合があるため、APIの拒否理由を一段ずつ調べられます。
JWTジェネレーターを有効にすると、ローカルの一時鍵でテストを作れます。生成はプレビューまでで、適用して初めてトークンと公開鍵を置き換えます。一度の取り消しで元の入力と結果を復元できます。
自動デコードは編集から350ミリ秒後に動作します。無効にするとデコードボタンやCtrl/Cmd+Enterを使えます。署名検証とテスト生成は自動実行しません。
RS256かES256を選び、公開JWKまたはSPKI PUBLIC KEY PEMを入力します。必要なら発行者と対象者の想定値も設定します。ヘッダー内の鍵参照からは鍵を選びません。
時刻欄が空なら実行時の現在時刻を使います。Unix秒を指定すれば同じ時点を再現できます。現在時刻ボタンは置き換えプレビューを開き、変更後の古い結果は出力できません。
2つのJSONオブジェクトと署名情報を表示します。宣言されたアルゴリズムと検証用に選んだ値を分け、kidやURLに信頼性を与えません。
RS256は2048–8192ビットのRSA、ES256はP-256に対応します。署名の不一致、鍵の不正、未対応アルゴリズムを区別します。
exp、nbf、iatを基準時刻と0–86400秒の許容差で確認します。未来のiatは本ツールの方針で不合格となり、欠けた時刻は欠落のまま表示します。
issは文字列の完全一致で、audは文字列または配列内の一致で確認します。想定値が空なら未確認です。署名の一致だけでは権限の有無を決めません。
はい。RS256またはES256を明示的に選び、対応する公開JWKかSPKI PEMを指定してください。署名が一致しても、発行者、対象者、日時の確認結果は別途確認が必要です。
通常の署名付きJWTは、ヘッダーとペイロードが暗号化されていません。base64urlを読める人なら内容を確認できるので、パスワードなどを入れる場所には向きません。
はい。期限切れは内容の読み取りを妨げません。expの確認は不合格でも署名が一致することがあり、この2つは別の結果として表示されます。
デコード時にexpを基準時刻と比較します。時刻欄が空なら現在時刻、入力済みならその値を使います。時刻の許容差も反映されるため、再現したい条件を確認してください。
noneは署名なしを表します。内容は確認できますが、ここでは検証済みになりません。認証で受け入れるアルゴリズムはアプリケーション側で明示的に限定してください。
結果について気になる点はありますか?