JWTデコーダー
JSON Web Tokenは3つのBase64urlセグメントです: header.payload.signature。JWTを貼り付け、トークンをサーバーに送らずにアルゴリズム(alg)、発行者(iss)、主体(sub)、有効期限(exp)を読みます。
JWTの復号方法
1. JWT文字列(eyJ...形式)を貼ります。
2. 復号したヘッダーJSON(typ、alg)を読みます。
3. ペイロードクレーム(sub、exp、roles)を読みます。
4. expを現在時刻と照合します——期限切れトークンはAPI認証に失敗します。
JWT検査の例
401 Unauthorizedのデバッグ
アクセストークンを復号——時計のずれや短いTTLでexpが過去になっていることがあります。
OAuth id_tokenの検査
IDプロバイダーから返されたemailとnameクレームを表示します。
テストフィクスチャの確認
結合テスト前に、HS256テストトークンにrole:adminクレームがあるか確認します。
JWTを復号するとき
• テストトークンで開発中の認証をデバッグするとき。
• JWT構造と標準クレームを学ぶとき。
• RBACチェックを実装する前にペイロードを確認するとき。
標準の登録クレーム
iss(発行者)、sub(主体)、aud(オーディエンス)、exp(有効期限)、nbf(これ以前は無効)、iat(発行時刻)、jti(JWT ID)。rolesやtenant_idのようなカスタムクレームはアプリ固有です。
よくある質問
JWTの3つの部分は何ですか?
ヘッダー(アルゴリズムと型)、ペイロード(クレーム)、署名(検証)。ドットで区切られます。
復号はトークンを検証しますか?
しません——誰でもペイロードを復号できます。署名が完全性と発行者を証明します。
expクレームとは何ですか?
トークンが期限切れになるUnixタイムスタンプ秒です。現在のUTC時刻と比べます。
noneアルゴリズム攻撃は?
サーバーはalg:noneを拒否しなければなりません——デコーダーは監査向けにヘッダーをまだ示すことがあります。
ペイロードの機微データは?
JWTペイロードはBase64であり暗号化ではありません——パスワードや不要なPIIは入れないでください。