1. JWTの構造を理解する
JWTはドットで区切られた3つの部分で構成されます: header.payload.signature。ヘッダーには署名アルゴリズム(alg)とトークンタイプ(typ)が、ペイロードには実際のクレーム(ユーザーID、権限、発行時刻など)がbase64urlエンコードされて格納されます。署名はヘッダー+ペイロードを秘密鍵(または秘密鍵)で署名した値で、トークンが改ざんされていないことを検証するために使われますが、このツールはその検証を行いません。
JWT(JSON Web Token)を貼り付けると、ヘッダーとペイロードをbase64urlデコードして整形済みJSONとして即座に表示します。exp/iat/nbfクレームは人が読みやすい時刻で表示され、期限切れかどうかをバッジで確認できます。
⚠️ このツールはデコードのみを行い、署名(signature)は検証しません。セキュリティ上の理由から、シークレットキーを入力するフィールド自体を設けていません。署名検証が必要な場合はサーバー側のJWTライブラリを使用してください。
JWTはドットで区切られた3つの部分で構成されます: header.payload.signature。ヘッダーには署名アルゴリズム(alg)とトークンタイプ(typ)が、ペイロードには実際のクレーム(ユーザーID、権限、発行時刻など)がbase64urlエンコードされて格納されます。署名はヘッダー+ペイロードを秘密鍵(または秘密鍵)で署名した値で、トークンが改ざんされていないことを検証するために使われますが、このツールはその検証を行いません。
exp(expiration)はトークンの有効期限、iat(issued at)は発行時刻、nbf(not before)はこの時刻より前はトークンが有効でないことを示します。3つの値はすべてUnixタイムスタンプ(秒単位)で保存されており、そのままでは人が読みにくい形式です。このツールは各値をローカル時刻とISO 8601形式の両方で表示し、expが現在時刻より過去であれば「期限切れ」バッジを表示します。
JWTの署名を検証するには、発行時に使用した秘密鍵(HMAC系、HS256など)または対応する公開鍵(RSA/ECDSA系、RS256/ES256など)が必要です。これはサーバー側で扱うべき機密性の高い操作のため、このブラウザツールはデコード(内容確認)のみを提供し、シークレットの入力は受け付けません。実際の検証にはバックエンド言語のJWTライブラリ(jsonwebtoken、PyJWT、firebase-adminなど)を使用してください。