レッスン 2
JWT の claim
登録済み、公開、プライベート JWT claim の違いを学びます。
JWT claim は payload 内のフィールドです。subject、発行者、audience、時間境界、権限、アプリケーション固有の事実を記述します。
登録済み claim(Registered claims)
登録済み claim には標準化された名前があります。
iss: issuer — トークンを発行した当事者sub: subject — 通常ユーザーまたはサービス識別子aud: audience — 意図した受信者exp: 有効期限nbf: この時刻より前は無効iat: 発行時刻jti: トークン識別子
JWT 形式ではこれらは任意ですが、実システムの多くはいくつかを必須にします。
公開 claim とプライベート claim
公開 claim はシステム間で共有される名前向けです。プライベート claim はサービス間で合意したもの — role、tenantId、scope、permissions など。
時間 claim は Unix 秒
JWT の時間 claim は通常 NumericDate: Unix epoch からの秒数。JavaScript はしばしばミリ秒を使うため、秒 claim とミリ秒タイムスタンプを誤って比較するのがよくあるバグです。
デバッグでは、生の Unix 値と人間が読める UTC またはローカル時刻の両方を確認してください。