aud
)を渡す必要があります。詳細については、「アクセストークン」をお読みください。
JWTでカスタムクレームを設定するときは、衝突を回避する必要があります。カスタムクレームが予約されたクレームや他のリソースのクレームと衝突しないようにするには、カスタムクレームに衝突耐性のある名前を付けます。Auth0では、名前空間形式の使用を推奨しています。
Auth0では、名前空間を指定したクレームと名前空間を指定しないクレームが使用できますが、特定の制限があります(「一般的な制限」を参照してください)。名前の衝突を避けるために、名前空間を指定したクレームの使用をお勧めします。衝突が生じた場合、トランザクションは失敗しませんが、カスタムクレームがトークンに追加されません。
一般的な制限
Auth0は、カスタムクレームに以下の制限を適用します。- カスタムクレームのペイロードは最大100 KBに設定される
- OpenID標準クレームや、Auth0によって内部的に使用されるクレームは、カスタマイズや変更できない
/userinfo
エンドポイントを除いて、Auth0 APIオーディエンスのアクセストークンには、名前空間のない、プライベートなカスタムクレームが含まれてはいけない- 指定されたOIDCユーザープロファイルクレームしかアクセストークンに追加できない
acr
act
active
amr
at_hash
ath
attest
aud
auth_time
authorization_details
azp
c_hash
client_id
cnf
cty
dest
entitlements
events
exp
groups
gty
htm
htu
iat
internalService
iss
jcard
jku
jti
jwe
jwk
kid
may_act
mky
nbf
nonce
object_id
org_id
org_name
orig
origid
permissions
roles
rph
s_hash
sid
sip_callid
sip_cseq_num
sip_date
sip_from_tag
sip_via_branch
sub
sub_jwk
toe
txn
typ
uuid
vot
vtm
x5t#S256
制限のないクレーム
機密のユーザー情報のクレームを作成して、ユーザープロファイルを強化し、ユーザーエクスペリエンスを向上させることができます。これらのクレームは、IDトークンからアプリケーションによって利用されます。制限のないクレームの詳細については、「IDトークン」をお読みください。使用の際には、「トークンのベストプラクティス」を考慮してください。 以下のクレームには一般的な制限のみが適用されます。address
birthdate
email
email_verified
family_name
gender
given_name
locale
middle_name
name
nickname
phone_number
phone_number_verified
picture
preferred_username
profile
updated_at
website
zoneinfo
名前空間のガイドライン
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
メソッドが使えるようになります。