JWT デコーダーで表示されるもの
JSON Web Token(JWT)は、認証、認可、API セッション、アイデンティティ ワークフローで一般的に使われるコンパクトなトークン形式です。JWT は通常ドットで区切られた 3 つの部分(ヘッダー、ペイロード、署名)から成ります。ヘッダーとペイロードは base64url エンコードされた JSON であり、秘密鍵がなくてもデコードして内容を読むことができます。
この JWT デコーダーは検査に重点を置いています。ヘッダーとペイロードを整形し、一般的なクレームを抽出し、生のセグメントを表示し、`iat`、`nbf`、`exp` のような時刻ベースのクレームを説明します。 iat, nbf、および expこれはログイン フロー、API コール、テスト環境、OAuth 統合、トークンの有効期間の問題をデバッグする際に役立ちます。
- ヘッダーからトークンのアルゴリズムとタイプを読み取ります。
- 発行者、サブジェクト、オーディエンス、およびカスタムのペイロードクレームを検査します。
- NumericDate 型のクレームを読みやすい日付に変換します。
- デコードしたヘッダー、デコードしたペイロード、または生のトークンセグメントをコピーします。
デコードは検証ではありません
JWT をデコードするとトークンの内容がわかりますが、誰が作成したか、ペイロードが改ざんされていないか、署名が一致しているか、アプリケーションが受け入れるべきかを証明するものではありません。署名の検証には正しいシークレット、公開鍵、または JWKS の設定が必要であり、アプリケーションが期待するアルゴリズムと一致する必要があります。
署名部分はヘッダーやペイロードとは異なります。それはエンコードされたヘッダーとペイロードに対する暗号学的な値であり、別の JSON オブジェクトとしてデコードするものではありません。このページは署名が存在する場合に生のセグメント出力で署名を表示しますが、署名キーを要求したりその値を検証したりはしません。
このページを検査ツールとして扱ってください。デコードされたトークンは依然として偽造、期限切れ、署名なし、予期しないキーで署名されている、または発行元のサービスによって拒否される可能性があります。
一般的な JWT クレーム
| Claim | Meaning | 代表的な用途 |
|---|---|---|
iss | Issuer | トークンを発行したサービスまたはアイデンティティ プロバイダー。 |
sub | Subject | トークンが対象としているユーザー、アカウント、クライアント、またはエンティティ。 |
aud | Audience | トークンを受け取るべき API、アプリ、またはサービス。 |
iat | 発行時刻(Issued at) | トークンが作成された時刻。 |
nbf | 指定開始時刻(Not before) | この時刻より前はトークンを受け付けてはならないことを示します。 |
exp | 有効期限(Expires at) | この時刻より後はトークンを受け付けてはならないことを示します。 |
安全なデバッグ習慣
- 可能な限り本番ユーザーのトークンではなくテストトークンを使用してください。
- 署名シークレット、秘密鍵、API 資格情報をデコーダーに貼り付けないでください。
- アルゴリズムがあなたのアプリケーションで期待されているものか確認してください。
- Compare
issandaudデバッグしているサービスと照合してください。 - 有効期限に関する問題をデバッグする際は、ブラウザの時刻とサーバーの時刻が異なることを忘れないでください。
関連ローカルツール
- 使用してください Base64 エンコーダー/デコーダー 通常の base64 文字列を検査する必要があるとき。JWT は base64url を使用するため、この JWT デコーダーは完全なトークンの確認により適しています。
- 使用してください JSON 整形ツール ペイロードオブジェクトをトークンの文脈外で整形したいとき。
- 使用してください Unix タイムスタンプ変換 `iat`、`nbf`、`exp` のような NumericDate 値の専用タイムスタンプ確認が必要なとき。
iat,nbf、またはexp.
よくある質問
この JWT デコーダーは署名を検証しますか?
いいえ。ヘッダーとペイロードをデコードして検査できるようにしますが、署名を検証したりトークンが信頼できることを証明したりはしません。検証には発行者のシークレット、公開鍵、または JWKS の設定が必要です。署名は暗号学的な値であり可読なクレームデータではないため、デコードされた JSON パネルとして表示されません。このツールでは署名を生のセグメント出力でのみ表示します。
誰でも JWT をデコードできますか?
はい。ヘッダーとペイロードは暗号化されておらずエンコードされているだけです(別の暗号化されたトークン形式を使用している場合を除く)。JWT ペイロードに秘密を入れないでください。
期限切れの JWT はどういう意味ですか?
もし `exp` exp クレームが過去の時刻を示している場合、サーバーは通常トークンを拒否すべきです。このページはタイムスタンプを表示できますが、最終的な判断はサーバーが行います。
なぜツールは Bearer プレフィックスを受け付けるのですか?
開発者はしばしば `Authorization: Bearer ...` ヘッダーからトークンをコピーします。ツールはデコードする前にプレフィックスを削除します。 Authorization: Bearer ... ツールはデコードする前にプレフィックスを削除します。