/userinfoエンドポイントの応答にも追加されます。クレームのタイプについては、「JSON Web Tokenクレーム」をお読みください。
例
/userinfoエンドポイントで使用できます。
影響を受けるフロー
制限
トークンサイズの上限
この制限は、全カスタムクレームのペイロードサイズの合計に適用されます。それには、名前空間があるパブリックのカスタムクレームか名前空間のないプライベートのカスタムクレームかにかかわらず、カスタムクレーム名とその関連値が含まれます。
例
予約済みのクレーム
acractactiveamrat_hashathattestaudauth_timeauthorization_detailsazpc_hashclient_idcnfctydestentitlementseventsexpgroupsgtyhtmhtuiatinternalServiceissjcardjkujtijwejwkkidmay_actmkynbfnonceobject_idorg_idorg_nameorigorigidpermissionsrolesrphs_hashsidsip_callidsip_cseq_numsip_datesip_from_tagsip_via_branchsubsub_jwktoetxntypuuidvotvtmx5t#S256
例
トークンオーディエンスの制限
- IDトークンはこの制約に影響されません。
- パブリック名前空間のカスタムクレームは、この制限に影響されません。
https://YOUR_TENANT.auth0.com/apiまたはhttps://YOUR_TENANT.auth0app.com/apihttps://YOUR_TENANT.auth0.com/api/v2またはhttps://YOUR_TENANT.auth0app.com/api/v2https://YOUR_TENANT.auth0.com/mfaまたはhttps://YOUR_TENANT.auth0app.com/mfa
/userinfoオーディエンスです。プライベートで名前空間のないカスタムクレームは、次のオーディエンスで許可されています。
https://YOUR_TENANT.auth0.com/userinfohttps://YOUR_TENANT.auth0app.com/userinfo
例
Auth0とWebtaskの名前空間の制約
- auth0.com
- webtask.io
- webtask.run
この移行の前に、Auth0ドメイン識別子を使って名前空間のあるカスタムクレームを設定すると、クレームが
/userinfo応答に含まれてしまいます。この動作は、移行後には解消され、該当するカスタムクレームが完全に無視されます。OIDCユーザープロファイルクレーム
アクセストークンにOIDCユーザープロファイルクレームを追加した場合、IDトークンと同様のスコープの制限が適用されます。たとえば、アクセストークンに
emailクレームを追加するには、emailを含むscopeを使ってフローをトリガーしなければなりません。addressbirthdateemailemail_verifiedfamily_namegendergiven_namelocalemiddle_namenamenicknamephone_numberphone_number_verifiedpicturepreferred_usernameprofileupdated_atwebsitezoneinfo
例
Auth0 Rulesを使用したSAML2アドオンおよびWebサービスフェデレーション(WS-Fed)プロトコルの属性マッピング
app_metadataまたはuser_metadataの移行前のクレームもまた、クレームがcontext.idTokenオブジェクトに設定され、名前が衝突するときに、コンテンツを結合します。オブジェクトプロパティの詳細については、「Rulesのユーザーオブジェクトプロパティ」をお読みください。
ただし、カスタムクレームを使用する場合、Auth0はcontext.idTokenオブジェクトに設定されたクレームを優先します。
この変更は、context.id_token経由でapp_metadataおよびuser_metadataを設定する(それらにオブジェクトを割り当てる)と同時に、アドオンまたはWebサービスフェデレーション()プロトコルの属性マッピングでこれらのフィールドを使用するAuth0 Rulesに影響を与えます。
例1:Auth0は、context.idToken.app_metadataが空のオブジェクトで設定されている場合に属性マッピングを無視します。
context.id_token内のapp_metadataのバージョンが優先されます。
プライベートで名前空間のないクレームをトークンに追加する
カスタムクレームは、カスタムクレームのベータプログラム加入者に対しても同じように動作します。この機能はすでに有効化されています。
例
/userinfoへのプライベートで名前空間のないクレーム
例
アクション
テナントログを確認する
- [Auth0 Dashboard]>[Monitoring(モニタリング)]>[Logs(ログ)]に移動します。
type: depnote AND description:*Custom*claims*のログを検索します。
例
以下は、拡張コードがトリガーされるたびに生成される廃止ログの例です。SAML2アドオンとWebサービスフェデレーション(WS-Fed)プロトコルのAuth0ルールを修正する
context.idTokenオブジェクトにapp_metadataまたはuser_metadataクレームを設定する場合、構成を更新して、Auth0がこれらのオブジェクト間の衝突するクレーム名を評価する方法を調整する必要があります。修正方法にはいくつかあります。
-
Auth0ルールのコードが常に
context.id_tokenに設定されたオブジェクトのコンテンツを優先するようにします。 -
SAML2アドオンまたはWebサービスフェデレーション(WS-Fed)プロトコルの属性マッピングを使用する場合は、
app_metadataまたはuser_metadataクレームをcontext.idTokenオブジェクトに設定しないようにします。可能な場合は、これらのクレームを名前空間のあるクレームに置き換えます。 -
プロトコルが
samlpまたはwsfedの場合、現在のプロトコルまたは現在のクライアントで条件を使用して、app_metadataまたはuser_metadataを設定するステートメントを除外します。
レガシーの動作を無効にする
レガシーの動作を無効化する前に、変更のリストを参照して、アプリケーションと統合に互換性があることを確認してください。
- [Auth0 Dashboard]>[Tenant Settings(テナント設定)]>[Advanced(詳細設定)]に移動して、[Migrations(移行)] を探します。
- トグルで [Custom claims must be namespaced(カスタムクレームは名前空間ありでなければならない)] を無効にします。