JWT デコーダー
JSON Web Token を貼り付けると、ヘッダーとペイロードが整形された JSON で表示されます。exp、iat、nbf などのタイムスタンプは読みやすい日付に変換され、期限切れのトークンには警告が表示されます。
JWT の構造
JWT はドットで区切られた 3 つの部分 header.payload.signature から成ります。ヘッダーとペイロードは、パディングなしの Base64URL でエンコードされた JSON オブジェクトです。署名は、ヘッダーで指定されたアルゴリズム(alg、たとえば HS256 や RS256)を使って最初の 2 つの部分から計算されます。
登録済みクレーム
| クレーム | 意味 |
|---|---|
iss | 発行者 |
sub | サブジェクト(通常はユーザー ID) |
aud | 対象者(aud) |
exp | 有効期限(1970 年からの秒数) |
nbf | この日時より前は無効 |
iat | 発行日時 |
jti | 一意のトークン ID |
JavaScript で JWT をデコード
const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p)); よくある質問
ここに JWT を貼り付けても安全ですか?
デコードはすべてブラウザ内で行われ、サーバーには何も送信されません。それでも、本番環境のトークンは機密情報として扱ってください。
デコード時に署名は検証されますか?
いいえ。JWT は Base64URL にすぎないため、誰でもデコードできます。検証には秘密鍵または公開鍵が必要で、サーバー側で行う必要があります。
コメント (0)
「JWT デコーダー」についての質問、アイデア、不具合はありますか?コメントを残したり、ツールを評価したり、他の人に返信したりできます。
まだコメントはありません。最初のフィードバックをお寄せください!