ヘッダーのデコード
JSONJWT を貼り付けると、解析されたコンテンツがここに表示されます。
JSON Web Tokenのヘッダーとペイロードを確認します。このツールは署名を検証せず、処理はブラウザ内だけで行われます。
以下の JWT を貼り付けると、すぐにデコード、検査、検証できます。
JSON Web トークンの入力を待機しています。
JWT を貼り付けると、解析されたコンテンツがここに表示されます。
JWT を貼り付けると、解析されたコンテンツがここに表示されます。
デコード後、署名がここに表示されます。
JWT を発行するときに使用するシークレットを入力します。 HS256 検証はブラウザーでネイティブに実行されます。
ヘッダーとペイロード JSON を編集し、HS256 署名を使用します。
JWT を生成する準備をします。
このトークンのセットは、ローカル テストおよび開発デバッグに適しています。
JWT は、ログイン、API 検証、およびサービス間の承認に一般的に使用されるトークン形式です。これは、ヘッダー、ペイロード、署名の 3 つのセクションで構成されます。
ペイロード コンテンツはデコードして読み取ることができますが、機密情報を JWT クレームに含めるべきではありません。
このページは HS256 署名の検証と生成をサポートしており、テスト環境トークンが同じシークレットで作成されているかどうかを簡単に確認できます。
JWT のデコード、エンコード、署名の検証はすべてブラウザーでネイティブに行われます。
JWT SEO ナレッジベース
「JWT Decoder」、「JWT Decoder」、「JSON Web Token Parsing」、「JWT Verify」、または「JWT Encoder」を検索している場合は、通常、すでにトークンを持っており、そのヘッダー、ペイロード、有効期限、署名アルゴリズム、およびクレームをすぐに理解する必要があることを意味します。このページではオンラインのJWTデコードツールを提供するだけでなく、開発者からよく問い合わせられるJWTの基礎知識をまとめています。
JWTはJSON Web Tokenの略称です。これは、JSON を使用して情報を表現し、それを簡略化された文字列に変換するトークン形式です。フロントエンドとバックエンドの分離 Web サイト、アプリ API、メンバー ログイン、シングル サインオン SSO、マイクロサービス認証、サービス間のデータ交換でよく使用されます。
ヘッダーとペイロードは Base64URL のみでエンコードされ、暗号化されないため、JWT デコードにはパスワードは必要ありません。トークンを取得した人は誰でも JWT Decoder を使用してペイロードの内容を確認できるため、クレームにパスワード、API キー、または機密の個人情報を含めることはできません。
最も一般的な使用例は承認です。ユーザーがログインに成功すると、認可サーバーは JWT を発行します。その後フロントエンドまたはアプリが API を呼び出すと、トークンは Authorization: Bearer などの HTTP Authorization ヘッダーに配置されます。
JWT は情報交換にもよく使用されます。 2 つのシステムが検証可能なデータを交換する必要がある場合、受信側は署名によってデータが送信中に変更されていないことを確認できます。 JWKS エンドポイントは、さまざまなサービスがトークンのソースを検証できるように、公開キーを公開するために大規模システムでよく使用されます。
標準 JWT は通常、ピリオドで区切られた 3 つの Base64URL 文字列、Header.Payload.Signature で構成されます。ヘッダーの最初のセクションにはトークンの種類と署名アルゴリズムが記述され、ペイロードの 2 番目のセクションにはクレームが含まれ、署名の 3 番目のセクションは整合性の検証に使用されます。
一般的に登録されているクレームには、iss、sub、aud、exp、nbf、 が含まれます。 data-i18n="auto.012">iat と jti。適切な API 検証では、通常、少なくとも exp、iss、および aud がチェックされます。
一般的なプロセスは次のとおりです。ユーザーはログインし、サーバーがアカウントのパスワードまたはサードパーティのログイン結果を検証することを許可し、アクセス トークンを発行します。フロントエンドはアクセス トークンを API リクエストに添付します。バックエンド API はトークンを検証し、保護されたデータを返します。
JWT は普遍的なセッションの代替ではありません。トークンが発行されると、通常は有効期限が切れる前にデータベースをチェックしなくても検証できます。ただし、トークンの取り消し、即時権限の変更、およびログアウト処理についてはまだ設計する必要があります。
JWT 検証は通常、トークンが予想されるルール (トークンに 3 つのセグメントがあるかどうか、デコードできるかどうか、JSON が正当かどうか、有効期限が切れているかどうか、発行者が正しいかどうか、視聴者が現在の API に準拠しているかどうかなど) を満たしているかどうかをチェックすることを指します。
JWT 検証では、指定されたアルゴリズムとキーを使用して署名が再計算され、トークンの 3 番目の署名と比較されます。ペイロードを理解できることは、トークンが信頼できることを意味するものではありません。公式 API は、印鑑検証とクレーム検証を受ける必要があります。
JWT デコードは、トークンの最初と 2 番目の段落を JSON に変換して戻し、ヘッダーとペイロードを読み取ることができるようにします。 JWT エンコードは逆のプロセスです。ヘッダー JSON とペイロード JSON を準備し、署名を生成し、最後にそれらを結合して完全なトークンを作成します。
ペイロードの内容を確認したいだけの場合は、シークレットは必要ありません。トークンが実際にシステムによって発行されたものであるかどうかを確認したい場合は、正しい秘密鍵または公開鍵を使用して署名を検証する必要があります。現在、このページは HS256 をサポートしています。
オンライン JWT デコードを使用する場合は、トークンの発行者、トークンがどのシステムに発行されたか、いつ有効になり、いつ期限切れになるか、権限スコープが API 要件を満たしているかどうかも確認する必要があります。次の表は、一般的な JWT クレームをまとめたものです。
| クレーム | 中国語の意味 | デバッグ時に確認すること |
|---|---|---|
です | 発行者、発行者 | 認証サーバーであっても、信頼できる ID プロバイダーであっても。 |
サブ | サブジェクト、ユーザー、またはプリンシパル ID | 正しいユーザー、メンバー、サービス アカウント、またはデバイスに対応しているかどうか。 |
オード | 聴衆、トークン聴衆 | 現在の API に送信するかどうか。オーディエンスエラーにより 401 が発生することがよくあります。 |
経験値 | 有効期限、有効期限 | 有効期限が切れているかどうか。 Unix のタイムスタンプとタイムゾーンの表示の違いに注意してください。 |
nbf | 今までにない、効果的な時間 | 使用可能時間がまだ到来していないかどうか。サーバー時刻のずれも影響します。 |
イアット | 発行日、発行時刻 | 実際のログイン時刻またはリフレッシュトークンと一致しますか。 |
jti | JWT ID、トークン固有ID | 失効リスト、監査ログ、またはリプレイ攻撃保護に使用できるかどうか。 |
範囲 | 権限の範囲 | API に必要な読み取り、書き込み、管理、その他の権限が存在するかどうか。 |
JWT ヘッダーの alg は、どのアルゴリズムを使用する必要があるかを検証者に伝えます。 HS256 は HMAC SHA-256 であり、発行と検証の両方で同じ秘密セットが使用されます。 RS256 は RSA 秘密鍵署名と公開鍵検証を使用します。 ES256 は楕円曲線アルゴリズムを使用します。
バックエンドは、攻撃者がヘッダーを変更して検証プロセスに影響を与えることを防ぐために、許可されるアルゴリズムのリストを明確に指定する必要があります。 JWT が ID プロバイダーからのものである場合、通常は JWKS または公開キーを取得し、kid、iss、aud、exp を確認します。
JWT Decoder の使用時に発生する最も一般的な問題は、トークンが標準の 3 セグメント形式ではない、Base64URL 文字列が不完全にコピーされている、前後に空白がある、ペイロードが正当な JSON ではない、または署名シークレットが正しく使用されていないことです。 API が 401 または 403 を返した場合は、まず JWT をデコードして、exp、aud、および scope を確認することをお勧めします。
header.payload.signature の 3 セグメント形式であるかどうか。Bearer スキーマを使用するかどうか。exp の有効期限が切れているかどうか、およびサーバー時間が同期されているかどうか。iss と aud が現在の環境と一致しているかどうか。kid を使用しているかどうか。通常、セッションは状態をサーバーまたは集中ストレージに保存し、ブラウザはセッション ID のみを保存します。 JWT は状態の一部をトークンに入れるため、API は署名を使用して整合性を検証できます。 SAML は XML ベースであり、エンタープライズ SSO で一般的に使用されます。
| 計画 | 状況に適した | 注意事項 |
|---|---|---|
| JWT | API認可、SSOアクセストークン、マイクロサービス | 機密情報の有効期限、押印確認、失効、漏洩を管理する必要がある。 |
| セッション | 即時ログアウトまたは一元的なステータス管理が必要な従来の Web サイト | サーバー側のセッション ストアが必要であり、サービス間の拡張には追加の設計が必要です。 |
| SAML | エンタープライズ ID 統合、レガシー SSO システム | XML 構造はより大きくなり、署名と設定は通常より複雑になります。 |
exp を設定し、アクセス トークンを長期間有効にしないでください。alg を盲目的に信頼しないでください。iss、aud、nbf、iat を必要な権限の要求で確認します。このオンライン JWT デコード ツールはブラウザーのネイティブ処理を使用します。貼り付けたトークン、シークレット、ヘッダー JSON、およびペイロード JSON は ToolBoy サーバーにアップロードされません。それでも、実際の本番トークンを扱うときは、最小限の開示の原則に従う必要があります。
JWT は、API デバッグ プロセスで、JSON、Base64URL、URL クエリ、タイムスタンプ、SHA-256、UUID、正規表現、その他のデータ形式とともによく使用されます。 ToolBoy の JSON 書式設定ツール、Base64 エンコードとデコード、Unix タイムスタンプ変換、または を使用できます。 href="uuid-generator.html" data-i18n="auto.025">UUID ジェネレーター。
詳細については、jwt.io の JSON Web トークンの概要 および RFC 7519。このページのコンテンツは、実用的なデバッグ、ホワイト ハット SEO、およびネイティブ プライバシーに焦点を当てて、中国語で再構成および書き直されました。