JWT Decoder
JWTを貼り付けると、header、payload、claimsがデコードされます。すべてブラウザで実行されるため、トークンはサーバーに送信されません。
動作方法: 下のJWTトークンを貼り付けると、headerとpayloadが即座にデコードされます。このツールは有効期限のステータスをハイライトし、すべてのクレームを読みやすい形式で表示します。データはサーバーには送信されません。
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "1234567890",
"name": "John Doe",
"email": "john@example.com",
"role": "admin",
"iat": 1779891019,
"exp": 1779981019,
"iss": "https://auth.example.com",
"aud": "https://api.example.com"
}| Claim | Value |
|---|---|
| sub | 1234567890 |
| name | John Doe |
| john@example.com | |
| role | admin |
| iat | 1779891019 (2026-05-27T14:10:19.000Z) |
| exp | 1779981019 (2026-05-28T15:10:19.000Z) |
| iss | https://auth.example.com |
| aud | https://api.example.com |
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
JWTとは
JSON Web Token (JWT)は、2つのパーティ間でクレームを表現するためのコンパクトなURL安全な方法です。ドットで区切られた3つの部分で構成されています:header、payload、signature。headerは使用されるアルゴリズムを指定し、payloadはクレーム(データ)を含み、signatureはトークンの完全性を検証します。JWTはWeb APIの認証と認可に広く使用されています。
JWT構造の説明
JWTの各部分はBase64URLエンコードされたJSONです。headerには通常、アルゴリズム(HS256、RS256)とトークンタイプが含まれます。payloadには、sub(サブジェクト)、iat(発行時刻)、exp(有効期限)、カスタムデータなどのクレームが含まれます。signatureは、secretまたは秘密鍵を使用してheaderとpayloadに署名して作成されます。
一般的なJWTクレーム
標準クレームには、iss(発行者)、sub(サブジェクト)、aud(オーディエンス)、exp(有効期限)、nbf(有効開始時刻)、iat(発行時刻)、jti(JWT ID)が含まれます。カスタムクレームには、ユーザーロール、権限、プロフィール情報など、任意のJSONデータを含めることができます。トークンの有効期限が切れているかを確認するために、常にexpクレームを検証してください。
セキュリティ上の考慮事項
- JWTペイロードに機密データを保存しないでください — エンコードされているだけで暗号化されていません
- サーバー側で常に署名を検証してください
- 短い有効期限とリフレッシュトークンを使用してください
- 公開APIではHS256よりRS256を推奨します
- クライアント側のコードで署名秘密鍵を公開しないでください
- トークンの横取りを防ぐためHTTPSを使用してください