JWT のデコード方法
- 1トークンを貼り付けます。先頭の「Bearer 」は自動で取り除かれます。
- 2ヘッダーとペイロードを整形済み JSON で確認します。
- 3「時刻のクレーム」で期限切れか、まだ有効になっていないかを確認します。
JWT の構造
JWT は 3 つの Base64url 文字列をドットでつないだものです。ヘッダーとペイロードは JSON、署名はバイナリで、発行者の鍵でしか検証できません。
ヘッダートークンの種類と署名アルゴリズム(HS256、RS256 など)。
ペイロードユーザーやトークン自体についてのクレーム。
署名前の 2 つが改ざんされていないことを証明します。
登録済みクレーム
iss発行者:トークンを作成した主体sub主体:通常はユーザー IDaud対象:トークンを受け取るサービスexp有効期限(1970 年からの秒数)nbfこの時刻まではトークンが無効iat発行日時jtiJWT ID:トークン固有の識別子よくある質問
本物のトークンを貼り付けても安全ですか?
トークンはブラウザ内でデコードされ、どこにも送られません。それでも有効なトークンはパスワードと同じように扱い、信頼できないツールには貼り付けないでください。
なぜ署名を検証しないのですか?
検証には発行者の秘密鍵または公開鍵が必要です。デコードで見えるのはトークンの主張だけです。サーバー側では署名を検証するまでその内容を信用しないでください。
JWT は暗号化されていますか?
通常の署名付き JWT は暗号化されていません。トークンを持っていれば誰でもペイロードを読めます。中身は Base64url エンコード された JSON にすぎないので、秘密情報は入れないでください。
日時はどのタイムゾーンですか?
お使いのデバイスのタイムゾーンです。ペイロードの値そのものは UTC の Unix 秒です。