PixConvert

JWTデコーダー

JWTトークンを貼り付けるだけで、そのヘッダー、ペイロード、署名をブラウザ上で即座にデコードして確認できます。

JWT Token

PixConvert JWTデコーダーを使用する理由

リスクゼロのトークン検査。トークンはデバイスから外部に送信されることはありません。

インスタントデコード

貼り付けた瞬間にヘッダーとペイロードがデコードされます。ボタン操作は不要です。

ネットワークリスクゼロ

JWTのデコードは、クライアント側での純粋なbase64url解析です。トークンがブラウザから外部に送信されることはありません。

有効期限検出

exp、iat、nbfのクレームを自動的に検出し、期限切れ/有効ステータスとともに人間が読みやすいタイムスタンプを表示します。

アルゴリズム表示

ヘッダーから署名アルゴリズム(RS256、HS256、ES384など)を表示します。

フォーマットされたJSON

ペイロードは、読みやすくコピーしやすいように、整形されたJSON形式で表示されます。

著作権侵害の主張

ペイロードJSON全体をワンクリックでコピーし、テストフィクスチャやデバッグセッションに貼り付けることができます。

JWTデコーダーが必要な場合

トークンの内容を即座に確認できると、認証フローのデバッグが速くなります。

APIデバッグ

APIがどのようなクレームを受け取っているかを理解するために、Authorizationヘッダーからベアラートークンを検査してください。

  • アクセストークンをデコードする
  • ユーザーの役割と権限を確認する
  • 有効期限を確認する

OAuthおよびOIDC開発

OAuth 2.0およびOpenID Connectの統合時に、IDトークンとアクセストークンをデコードします。

  • id_tokenクレームを検査する
  • サブフィールドとメールフィールドを確認してください
  • トークンの有効期限とNBFを確認してください

セキュリティ監査

セキュリティ評価の一環として、JWTアルゴリズムとクレームをレビューする(トークンが外部に漏洩しないよう、クライアント側で実施)。

  • 脆弱なアルゴリズムを検出する(なし、HS256)
  • 請求範囲を確認してください
  • トークンの有効期間を検査する

JWTトークンをデコードする方法

1

入力フィールドにJWTトークンを貼り付けてください。デコーダーはそれをドットで分割し、各部分をbase64urlデコードします。

2

ヘッダーとペイロードは、フォーマットされたJSON形式で表示されます。標準的なクレーム(exp、iat、sub)は、人間が読みやすいラベルで強調表示されます。

3

署名セグメントを検査し、期限切れのトークンを一目で検出できます。すべてのデコード処理はローカルで実行され、当社のサーバー上では一切行われません。

よくある質問

JWTの復号化について解説します。

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

JWTのヘッダーとペイロード部分は暗号化されておらず、base64urlエンコードされています。つまり、トークンを持っている人なら誰でも読み取ることができます。ここでデコードすることは、自分のコードでデコードすることと同じです。署名検証に使用される秘密鍵は、デコードされることも、必要になることもありません。ただし、JWTはパスワードと同様に扱ってください。本番環境で使用するトークンを信頼できないツールに貼り付けないでください。

これはJWT署名を検証するものですか?

いいえ。署名検証には秘密鍵(HMAC)または公開鍵(RSA/ECDSA)が必要ですが、これらは決して第三者のツールと共有してはいけません。このデコーダーはヘッダーとペイロード(最初の2つのセグメント)のみを読み取りますが、これらは設計上公開されています。

経験に基づく請求とは何ですか?

exp(有効期限)クレームは、トークンが無効になるUnixタイムスタンプ(エポックからの秒数)です。このツールはそれを人間が読みやすい日付に変換し、トークンが現在有効か期限切れかを表示します。

access_tokenとid_tokenの違いは何ですか?

OAuth 2.0/OIDCでは、access_tokenはAPI呼び出しを認証するトークンで、不透明なトークンまたはJWTです。id_tokenは常にJWTであり、IDクレーム(sub、email、name)が含まれています。どちらもここでデコードできます。

なぜ署名がランダムな文字のように見えるのですか?

署名とは、ヘッダーとペイロードの暗号学的ハッシュ値であり、発行者の秘密鍵またはプライベートキーで署名されたものです。これはbase64urlとしてエンコードされたバイナリデータであり、人間が読み取れるようには設計されていません。その目的は検証であり、検査ではありません。