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は入れないでください。