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

登録済みクレーム

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

カスタムクレーム

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

パブリッククレーム

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

プライベートクレーム

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

Auth0 の制限事項

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

詳細情報