トークンが実際に運んでいるものを見る
JWTは一見ノイズのようですが、実際はbase64urlエンコードされたJSONで、誰でも読めます。トークンを貼り付けると、ツールがヘッダーとペイロードを分離・デコードし、JSONを整形し、タイムスタンプを日付に変換し、期限切れかどうかを表示します。
JWTの構造
| 部分 | 内容 | 例 |
|---|---|---|
| ヘッダー | アルゴリズムと種類 | {"alg":"HS256","typ":"JWT"} |
| ペイロード | クレーム(業務データ) | {"sub":"1234567890","exp":1716239022} |
| 署名 | HMACまたは非対称署名 | SflKxwRJ…(エンコードされたバイナリ) |
知っておくべき登録済みクレーム
- iss(発行者):トークンを発行した認証サーバー。
- sub(主体):トークンの対象——ユーザーの識別子。
- aud(対象者):トークンの宛先——受け入れるべきAPI。
- exp/nbf/iat:Unixタイムスタンプによる有効期間。
セキュリティの注意:デコードは検証ではありません。もっともらしい内容のトークンも偽造可能です。信頼できるのはサーバー側での署名検証(正しい鍵とアルゴリズム)だけ。ペイロードは公開情報なので、秘密を入れてはいけません。
よくある質問
JWTとは何ですか?
JSON Web Token(RFC 7519)は、ドットで区切られたbase64urlエンコードの3部分——ヘッダー(アルゴリズム)、ペイロード(クレーム:識別情報や有効期限など)、完全性を保証する署名——からなるコンパクトなトークンです。
JWTのデコードは「解読」と同じ?
いいえ。ヘッダーとペイロードは暗号化されておらず、base64urlでエンコードされているだけなので誰でも読めます。JWTのセキュリティは署名にあり、それは改ざんを防ぐもので、読み取りを防ぐものではありません。
このツールは署名を検証しますか?
いいえ、意図的に検証しません。内容のデコードと表示のみを行います。署名検証には秘密鍵や公開鍵が必要で、サーバー側で行うべきです。デコードした内容だけでトークンを信頼してはいけません。
exp・iat・nbfの意味は?
いずれもUnixタイムスタンプです。exp=有効期限、iat=発行日時、nbf=それ以前は無効となる日時。ツールはこれらを読みやすい日付に変換し、期限切れかどうかも表示します。
本物のトークンを貼っても安全?
デコードは100%ローカルで、何も送信されません。それでも衛生上、有効な本番トークンを安全な環境の外で扱うのは避け、誤って公開したトークンは必ず失効させてください。