Skip to main content
JSON Web Token (JWT) のクレームは、対象に関して表明される情報です。たとえば、ID トークン (これは常に です) には、認証しているユーザーの名前が “John Doe” であることを示す name というクレームを含めることができます。JWT では、クレームは名前と値のペアとして表され、名前は常に文字列で、値には任意の JSON 値を指定できます。一般に、JWT の文脈でクレームについて言う場合は、名前 (またはキー) を指します。たとえば、次の JSON オブジェクトには 3 つのクレーム (subnameadmin) が含まれています。
OpenID Connect (OIDC) の標準クレームについては、OpenID Connect ScopesOpenID Connect Standard Claims を参照してください。
JWT クレームには 2 種類あります。
  • Registered: Internet Assigned Numbers Authority (IANA) に登録され、JWT の仕様 で定義されている標準クレームです。これは、サードパーティ、つまり外部のアプリケーションとの相互運用性を確保するためのものです。OIDC の標準クレームは予約クレームです。
  • Custom:  登録されていないパブリッククレームまたはプライベートクレームで構成されます。パブリッククレームは名前の衝突が起こりにくい一方、プライベートクレームは衝突が発生する可能性があります。

登録済みクレーム

JWT の仕様では、必須ではないものの、サードパーティアプリケーションとの相互運用性を確保するために推奨される予約済みクレームが 7 つ定義されています。以下のとおりです。
  • iss (issuer): JWT の発行者
  • sub (subject): JWT の主体 (ユーザー)
  • aud (): JWT の想定される受信者
  • exp (expiration time): JWT の有効期限が切れる時刻
  • nbf (not before time): JWT を処理のために受け入れてはならない時刻
  • iat (issued at time): JWT が発行された時刻。JWT の経過時間の判断に使用できます
  • jti (JWT ID): 一意の識別子。JWT の再利用を防ぐために使用できます (トークンを 1 回だけ使用可能にします)
登録済みクレームの完全な一覧は、IANA JSON Web Token Claims Registry で確認できます。

カスタムクレーム

独自に管理するカスタムクレームを定義し、Actions を使ってそれらをトークンに追加できます。以下にいくつか例を示します。
  • ユーザーのメールアドレスを に追加し、それを使ってユーザーを一意に識別できます。
  • Auth0 のユーザープロファイルに保存されているカスタム情報を に追加できます。
Action が設定されていれば、それによって追加されたカスタムクレームは、リフレッシュトークン を使って新たに発行されるトークンにも含まれます。 トークンにカスタムクレームを追加する例については、スコープとクレームのユースケース例 を参照してください。

公開クレーム

一般公開向けのカスタムクレームを作成できます。これには、氏名やメールアドレスなどの一般的な情報を含めることができます。公開クレームを作成する場合は、それらを登録するか、名前空間を使って衝突しにくい名前を使用する必要があります。また、使用する名前空間を自分で管理していることを確実にするために、適切な予防策を講じてください。 IANA JSON Web Token Claims Registry では、 Connect (OIDC) によって登録された公開クレームの例をいくつか確認できます。
  • auth_time
  • acr
  • nonce

プライベートクレーム

アプリケーション固有の情報を共有するためのプライベートなカスタムクレームを作成できます。たとえば、パブリッククレームには名前やメールアドレスといった一般的な情報が含まれるのに対し、プライベートクレームには社員IDや部署名のような、より具体的な情報が含まれます。

Auth0 の制限事項

Auth0 では、カスタムクレームに関して以下の一般的な制限が適用されます。
  • カスタムクレームのペイロードの最大サイズは 100KB です
  • OIDC の標準クレームやその他の登録済み標準クレームの一部、および Auth0 が内部で使用するクレームは、カスタマイズまたは変更できません
  • /userinfo エンドポイントを除き、Auth0 API のオーディエンスを持つアクセストークンに、名前空間のないプライベートなカスタムクレームを含めることはできません
  • アクセストークンに追加できるのは、指定された OIDC のユーザープロファイルクレームのみです
カスタムクレームの詳細については、Create Custom Claims を参照してください。

詳細情報