レッスン 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 はサービス間で合意したもの — roletenantIdscopepermissions など。

時間 claim は Unix 秒

JWT の時間 claim は通常 NumericDate: Unix epoch からの秒数。JavaScript はしばしばミリ秒を使うため、秒 claim とミリ秒タイムスタンプを誤って比較するのがよくあるバグです。

デバッグでは、生の Unix 値と人間が読める UTC またはローカル時刻の両方を確認してください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る