Skip to main content
アクセストークンとでカスタムクレームを読み取るには、 (JWT) を使用し、OIDCのログインフローで (aud) を指定する必要があります。詳しくは、アクセストークンを参照してください。 JWTでカスタムクレームを設定する際は、名前の衝突を避ける必要があります。予約済みクレームや他のリソースのクレームと衝突しないよう、カスタムクレームには衝突しにくい名前を付けてください。Auth0では、名前空間付きの形式を推奨しています。
Auth0では名前空間付きクレームと非名前空間クレームの両方を使用できますが、いくつかの制限があります (一般的な制限を参照) 。名前の衝突を避けるため、名前空間付きクレームの使用を推奨します。衝突が発生してもトランザクション自体は失敗しませんが、カスタムクレームはトークンに追加されません。

一般的な制限

Auth0 では、カスタムクレームに次の制限が適用されます。
  • カスタムクレームのペイロードの最大サイズは 100KB です
  • OPENID 標準クレームおよび Auth0 が内部で使用するクレームは、カスタマイズまたは変更できません
  • Auth0 API の オーディエンス を持つ には、/userinfo エンドポイントを除き、非名前空間のプライベートなカスタムクレームを含めることはできません
  • 指定された OIDC ユーザープロファイルクレームのみをアクセストークンに追加できます
次のクレームは Auth0 の制限の対象です。
  • 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:// で始めてください。
  • また、カスタム API を使用している場合は、URN ベースの名前空間識別子を使用することもできます。その場合、Auth0 の URN urn:auth0 は予約されており、名前空間識別子として使用できません。
  • 必要に応じて複数の名前空間を作成します。
名前空間を選択したら、それに クレーム を追加して名前空間付き クレーム を作成します。これはトークンに追加できます。例: http://www.example.com/favorite_color

非名前空間クレームのガイドライン

非名前空間のカスタムクレームについては、次のガイドラインに従ってください。
  • アプリケーションでどうしても必要な場合を除き、衝突を回避できる公開の名前空間付きカスタムクレームを使用してください。
  • クレームは、意味が明確で衝突を回避できる名前で作成してください。たとえば、e_id ではなく employee_id を使用します。
  • クレーム名とその値はできるだけ軽量にし、アプリケーションに本当に必要なデータだけを含めてください。
  • カスタムクレームに重いペイロードを割り当てることは避けてください。
トークンに追加するカスタムクレームの例については、スコープとクレームのユースケース例 を参照してください。

カスタムクレームを作成する

Auth0 Actions を使用してカスタムクレームを作成します。api オブジェクトでは、アクセストークンまたは ID トークンに対して setCustomClaim メソッドを使用できます。

詳細