name というクレームを含めることができます。JWT では、クレームは名前と値のペアとして表され、名前は常に文字列で、値には任意の JSON 値を指定できます。一般に、JWT の文脈でクレームについて言う場合は、名前 (またはキー) を指します。たとえば、次の JSON オブジェクトには 3 つのクレーム (sub、name、admin) が含まれています。
OpenID Connect (OIDC) の標準クレームについては、OpenID Connect Scopes と OpenID Connect Standard Claims を参照してください。
- 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 回だけ使用可能にします)
カスタムクレーム
独自に管理するカスタムクレームを定義し、Actions を使ってそれらをトークンに追加できます。以下にいくつか例を示します。- ユーザーのメールアドレスを に追加し、それを使ってユーザーを一意に識別できます。
- Auth0 のユーザープロファイルに保存されているカスタム情報を に追加できます。
公開クレーム
一般公開向けのカスタムクレームを作成できます。これには、氏名やメールアドレスなどの一般的な情報を含めることができます。公開クレームを作成する場合は、それらを登録するか、名前空間を使って衝突しにくい名前を使用する必要があります。また、使用する名前空間を自分で管理していることを確実にするために、適切な予防策を講じてください。 IANA JSON Web Token Claims Registry では、 Connect (OIDC) によって登録された公開クレームの例をいくつか確認できます。auth_timeacrnonce
プライベートクレーム
アプリケーション固有の情報を共有するためのプライベートなカスタムクレームを作成できます。たとえば、パブリッククレームには名前やメールアドレスといった一般的な情報が含まれるのに対し、プライベートクレームには社員IDや部署名のような、より具体的な情報が含まれます。Auth0 の制限事項
Auth0 では、カスタムクレームに関して以下の一般的な制限が適用されます。- カスタムクレームのペイロードの最大サイズは 100KB です
- OIDC の標準クレームやその他の登録済み標準クレームの一部、および Auth0 が内部で使用するクレームは、カスタマイズまたは変更できません
/userinfoエンドポイントを除き、Auth0 API のオーディエンスを持つアクセストークンに、名前空間のないプライベートなカスタムクレームを含めることはできません- アクセストークンに追加できるのは、指定された OIDC のユーザープロファイルクレームのみです