OurToolNest

JWTデコーダー

JWTトークンのヘッダーとペイロードを即座にデコードして確認します。完全にブラウザ内で動作する無料のオンラインJWTデコーダーです。

JWTデコーダーとは?

JWTデコーダーは、JSON Web Token(JWT)をデコードしてヘッダーとペイロードの内容を人間が読めるJSON形式で表示する無料のオンラインツールです。expクレームを読み取ってトークンの有効期限ステータスを自動的に検出・表示し、開発者がトークンがまだ有効かどうかを素早く判断できるようにします。すべてのデコードはブラウザ内で完全に行われるため、機密性の高いトークンがネットワーク上に送信されることはありません。

JWTデコーダーの使い方

  1. 入力フィールドに完全なJWTトークン(ドットで区切られた3つのBase64エンコード部分すべて)を貼り付けます。
  2. 「JWTをデコード」ボタンをクリックしてトークン構造を解析します。
  3. デコードされたヘッダーで署名アルゴリズムとトークンタイプを確認します。
  4. ペイロードを調べて、サブジェクト、発行者、カスタムデータを含むすべてのクレームを確認します。
  5. 有効期限ステータスインジケーターを確認して、トークンが現在有効か期限切れかを確認します。

ヒントとベストプラクティス

本番トークンを共有しない

このツールはトークンをローカルで処理しますが、本番環境のJWTトークンをスクリーンショットやログで共有することは避けてください。トークンのペイロードには機密性の高いユーザー情報が含まれている可能性があり、有効期限内のトークンは不正アクセスに使用される可能性があります。

3つの部分を理解する

JWTはドットで区切られた3つのBase64URLエンコード部分で構成されています:ヘッダー(アルゴリズムとタイプ)、ペイロード(クレームとデータ)、署名(検証ハッシュ)。このツールは暗号化されていない最初の2つの部分をデコードします。

有効期限を定期的に確認

expクレームにはUnixタイムスタンプとしてのトークンの有効期限が含まれています。認証の問題をデバッグする際は、最初にトークンが期限切れかどうかを確認してください。これはAPIコールでの401 Unauthorizedエラーの最も一般的な原因です。

カスタムクレームを探す

iss、sub、expなどの標準クレーム以外に、多くのアプリケーションはユーザーロール、権限、テナントIDなどのカスタムクレームを追加しています。これらのカスタムクレームを理解することで、認可やアクセス制御の問題をより効果的にデバッグできます。

一般的な使用例

APIデバッグ

APIリクエストが認証エラーを返した場合、AuthorizationヘッダーのJWTをデコードして、トークンが期限切れか、間違ったオーディエンスに発行されたか、APIが期待する必要なクレームが不足していないかを確認します。

OAuthフローのトラブルシューティング

OAuth 2.0およびOpenID Connectの実装中、IDトークンとアクセストークンを検査して、アイデンティティプロバイダーがトークンペイロードに正しいスコープ、クレーム、オーディエンス値を返しているかを確認します。

セキュリティ監査

JWTトークンを確認して、ペイロードに過度な情報や機密情報が含まれていないことを確認します。JWTペイロードはBase64エンコードされているだけで暗号化されていないため、トークンを傍受した誰もがペイロード内のデータを読み取ることができます。

FAQ

ここにJWTを貼り付けても安全ですか?

はい。すべてのデコードはブラウザ内でローカルに行われます。データがサーバーに送信されることはありません。

このツールでJWTの署名を検証できますか?

このツールはJWTの内容をデコードして表示します。署名の検証には秘密鍵が必要であり、検査には不要です。

JWSとJWEの違いは何ですか?

JWS(JSON Web Signature)トークンは署名されているが読み取り可能なペイロードを持ち、ほとんどの人がJWTと言う場合はこれを意味します。JWE(JSON Web Encryption)トークンは暗号化されたペイロードを持ち、復号鍵なしでは読み取れません。このツールはJWSトークンで動作し、実際には圧倒的に一般的なタイプです。

なぜ秘密鍵なしでペイロードを読めるのですか?

JWTペイロードはBase64URLエンコードされており、暗号化されていません。署名はトークンが改ざんされていないことを保証するだけで、内容を隠すものではありません。これは設計によるものですので、JWE暗号化を使用しない限り、JWTペイロードに本当に秘密の情報を保存しないでください。

一般的なJWTクレームには何がありますか?

標準クレームにはiss(発行者)、sub(サブジェクト/ユーザーID)、aud(オーディエンス)、exp(有効期限)、nbf(開始時刻)、iat(発行時刻)、jti(JWT ID)が含まれます。アプリケーションはロール、権限、その他のアプリケーション固有のデータのカスタムクレームを頻繁に追加します。

関連ツール