aud)を渡す必要があります。詳細については、「アクセストークン」をお読みください。
JWTでカスタムクレームを設定するときは、衝突を回避する必要があります。カスタムクレームが予約されたクレームや他のリソースのクレームと衝突しないようにするには、カスタムクレームに衝突耐性のある名前を付けます。Auth0では、名前空間形式の使用を推奨しています。
Auth0では、名前空間を指定したクレームと名前空間を指定しないクレームが使用できますが、特定の制限があります(「一般的な制限」を参照してください)。名前の衝突を避けるために、名前空間を指定したクレームの使用をお勧めします。衝突が生じた場合、トランザクションは失敗しませんが、カスタムクレームがトークンに追加されません。
一般的な制限
Auth0は、カスタムクレームに以下の制限を適用します。- カスタムクレームのペイロードは最大100 KBに設定される
- OpenID標準クレームや、Auth0によって内部的に使用されるクレームは、カスタマイズや変更できない
/userinfoエンドポイントを除いて、Auth0 APIオーディエンスのアクセストークンには、名前空間のない、プライベートなカスタムクレームが含まれてはいけない- 指定されたOIDCユーザープロファイルクレームしかアクセストークンに追加できない
acractactiveamrat_hashathattestaudauth_timeauthorization_detailsazpc_hashclient_idcnfctydestentitlementseventsexpgroupsgtyhtmhtuiatinternalServiceissjcardjkujtijwejwkkidmay_actmkynbfnonceobject_idorg_idorg_nameorigorigidpermissionsrolesrphs_hashsidsip_callidsip_cseq_numsip_datesip_from_tagsip_via_branchsubsub_jwktoetxntypuuidvotvtmx5t#S256
制限のないクレーム
機密のユーザー情報のクレームを作成して、ユーザープロファイルを強化し、ユーザーエクスペリエンスを向上させることができます。これらのクレームは、IDトークンからアプリケーションによって利用されます。制限のないクレームの詳細については、「IDトークン」をお読みください。使用の際には、「トークンのベストプラクティス」を考慮してください。 以下のクレームには一般的な制限のみが適用されます。addressbirthdateemailemail_verifiedfamily_namegendergiven_namelocalemiddle_namenamenicknamephone_numberphone_number_verifiedpicturepreferred_usernameprofileupdated_atwebsitezoneinfo
名前空間のガイドライン
Auth0 URN
urn:auth0は名前空間識別子として使用できません。-
Auth0以外のHTTPまたはHTTPS URLを名前空間識別子として使用します。Auth0のドメインは名前空間識別子として使用できません。これには以下のものが含まれます。
- auth0.com
- webtask.io
- webtask.run
- 自分が管理しているURLを名前空間識別子として使用します。これにより、他の誰かが同じ名前空間を使用するリスクを回避できます。この名前空間URLが実際のリソースを指す必要はありません。これは呼び出されることがなく、識別子としてのみ使用されます。
-
URLは
http://またはhttps://で始めます。 - 必要に応じて、複数の名前空間を作成します。
- 必要に応じて、複数の名前空間を作成します。
http://www.example.com/favorite_color
非名前空間のガイドライン
非名前空間のカスタムクレームについては、次のガイドラインを使用してください。- アプリケーションに絶対に必要な場合を除き、衝突耐性のあるパブリックの名前空間カスタムクレームを使用してください。
- 衝突耐性のある、分かりやすい名前のクレームを作成します。たとえば、
employee_idを使用します。e_idにはしません。 - クレームの名前と値をできるだけ軽くし、アプリケーションに絶対に必要なデータのみを渡すようにします。
- 重いペイロードをカスタムクレームに割り当てないようにします。
カスタムクレームを作成する
カスタムクレームを作成するには、Auth0 Actionsを使用します。apiオブジェクトを使用すると、アクセストークンやIDトークンにsetCustomClaimメソッドが使えるようになります。