JWT トークン
JWT トークンを貼り付けてすぐにデコード。
JWT トークンを貼り付けてすぐにデコード。
このツールについて
JWT(JSON Web Token)のデコードは、認証問題のデバッグ、API トークンの検査、SSO 統合のトラブルシューティングを行う際にほぼ毎日行っていることです。ユーザーが「アクセス拒否」エラーを報告した場合、最初に行うのは JWT をデコードして有効期限、ロール、クレームを確認することです。このツールは、トークンをサーバーに送信することなく JWT を即座にデコードします。本番アクセストークンや顧客の資格情報を扱う際に重要です。トークンを 3 つの部分(ヘッダー、ペイロード、署名)に分割し、最初の 2 つを Base64 デコードし、JSON コンテンツを読みやすい形式で表示します。署名は表示されますが検証されません。これは検査ツールであり、検証ツールではありません。OAuth2 の統合、Auth0/Cognito トークンのデバッグ、JWT ベースの認証の仕組みを理解する開発者に最適です。 ### JWT 構造 JWT にはドット (.) で区切られた 3 つの部分があります: - **ヘッダー** - トークンタイプと署名アルゴリズム(例:HS256、RS256)を含む - **ペイロード(クレーム)** - 実際のデータとクレームを含む - **署名** - トークンが改ざんされていないことを検証 デコーダーは、開発者がデバッグのためにペイロードの内容をすばやく表示するのに役立ちます。ロール/権限の表示、トークンの有効期限の確認、発行者情報の検証、API スコープの確認、認証実装時のトークン構造の検証などに使用します。 ### 使用例 **1. 認証プロバイダーからのトークンのデバッグ** - Firebase Auth - Auth0 - AWS Cognito - Supabase - Keycloak **2. フロントエンド開発** 確認: - claim role=admin は存在しますか? - ユーザーが苦情を言うときにトークンは期限切れですか? - トークンの構造は正しいですか? **3. バックエンド開発** バックエンドで検証を記述する前にペイロードを検証します。 **4. QA / テスト** API テスト中に API トークンを確認します。 **5. セキュリティレビュー(クイック検査)** 署名アルゴリズム (alg) のセキュリティを確認: - HS256、RS256、ES256 → ✓ 安全 - NONE → ⚠️ 安全でない **6. OAuth 2.0 / OpenID Connect のデバッグ** 表示: - `iss` - 発行者 - `aud` - オーディエンス - `exp` - 有効期限 - `nonce` - リプレイ攻撃防止 - `azp` - 承認された当事者
使い方
JWT トークン(形式:xxxxx.yyyyy.zzzzz)を入力フィールドに貼り付けます。ツールは自動的にヘッダー、ペイロード、署名セクションに分割します。ヘッダーはアルゴリズム(HS256、RS256 など)とトークンタイプを表示します。ペイロードには、ユーザー ID (sub)、有効期限 (exp)、発行時刻 (iat)、発行者 (iss)、およびアプリが追加したカスタムクレームなどのクレームが表示されます。有効期限は Unix タイムスタンプです。ツールはこれを読みやすい日付に変換できます。API が 401 エラーを返したときにトークンが期限切れかどうかを確認したり、認証のデバッグ時にロール/権限クレームが存在することを確認したり、JWT 構造を学習するときに使用します。 ### 使用方法 1. JWT トークンをコピー 2. 入力フィールドに貼り付け 3. ツールが自動的にヘッダー、ペイロード、署名を分離 4. デコード結果を表示:JSON + クレームの内訳 5. 必要に応じてコピー/エクスポートボタンを使用
制限事項と重要な注意
⚠️ **重要**:このツールはトークンをデコードするだけで、署名を検証しません! このツールは JWT をデコードするだけで、署名を検証したりトークンを検証したりしません。デコードされたトークンが有効なクレームを表示していても、トークンが本物であることを意味しません。攻撃者は偽のクレームを含むトークンを作成できます。常に秘密鍵または公開鍵(RS256 の場合)を使用してサーバー側で署名を検証してください。このツールは標準の JWT 形式(Base64URL エンコードの header.payload.signature)で動作します。暗号化された JWT (JWE) やネストされたトークンは処理しません。トークンにバイナリデータや非標準エンコーディングが含まれている場合、デコードが失敗する可能性があります。コード内の自動トークン検証には、jsonwebtoken (Node.js)、PyJWT (Python)、jose4j (Java) などの適切な JWT ライブラリを使用してください。セキュリティ上の注意:信頼できないオンラインツールに機密性の高い本番トークンを貼り付けないでください。このツールはクライアント側で実行されますが、DevTools のネットワークタブで何もアップロードされていないことを常に確認してください。