メインコンテンツへスキップ
Highly Regulated Identity 機能を使用するには、Highly Regulated Identity add-on を含む Enterprise Plan が必要です。詳しくは、Auth0 Pricingを参照してください。
お客様が Auth0テナント をいずれかの Financial-grade API (FAPI) プロファイルに準拠するよう設定できるように、Application モデルには compliance_level プロパティがあり、これに次のいずれかの値を設定できます。
  • null または undefined: 準拠レベルは不要です。これはデフォルト値です。
  • fapi1_adv_mtls_par: このクライアントを、mTLSPAR を使用する FAPI1 Advanced プロファイルに準拠した動作にします。
  • fapi1_adv_pkj_par: このクライアントを、Private Key JWTPAR を使用する FAPI1 Advanced プロファイルに準拠した動作にします。
  • fapi2_sp_pkj_mtls: このクライアントを、Private Key JWTmTLS Token Sender-Constraining を使用する FAPI 2.0 Security Profile に準拠した動作にします。
  • fapi2_sp_mtls_mtls: このクライアントを、mTLS Client AuthenticationmTLS Token Sender-Constraining を使用する FAPI 2.0 Security Profile に準拠した動作にします。
FAPI プロファイルに準拠するには、複数の設定変更が必要です。compliance_level を設定すると、リクエストと設定の両方が選択した標準に準拠していない限り、認可リクエストは成功しません。 たとえば、fapi1_adv_pkj_parfapi1_adv_mtls_par の両方の準拠レベルでは PAR が必要です。これらの準拠レベルのいずれかを選択した場合、require_pushed_authorization_requests 設定の値に関係なく、PAR が必須になります。PAR を使用せずに認可を試行すると、次のエラーレスポンスが返されます。
{
  “error”: “invalid_request”,
  "error_description": "Pushed Authorization Requestsは設定された準拠レベルによって必要とされています" 
}
場合によっては、準拠レベルを設定すると、Auth0 の動作も変化します。たとえば、fapi1_adv_pkj_parfapi1_adv_mtls_par の両方の準拠レベルでは、返される に、state 値の SHA256 ハッシュを含む s_hash クレームが含まれます。これにより、IDトークンは分離署名として機能できます。 次の表は、各準拠レベルで有効になる追加の検証ルールと、Auth0 の動作変更をまとめたものです。
検証fapi1_adv_pkj_parfapi1_adv_mtls_parfapi2_sp_pkj_mtlsfapi2_sp_mtls_mtls
/userinfo の呼び出し時に、URL クエリでアクセストークンを使用できないようにします。アクセストークンは代わりに Authorization ヘッダーに設定する必要があります。YYYY
PAR が必要です。YYYY
S256 チャレンジメソッドを使用する PKCE が必要です。YYYY
クライアントの許可済みコールバックでワイルドカードを使用できないようにします。YYNN
JAR の使用を必須にします。YYNN
JAR ペイロードが PS256 アルゴリズムで署名されていることを確認します。YYNN
JAR ペイロードに nbf クレームが含まれ、その値が過去 60 分以内であることを確認します。YYNN
JAR ペイロードに exp クレームが含まれ、その値が nbf クレームから 60 分以内であることを確認します。YYNN
クライアントで oidc_conformant プロパティが true に設定されていることを確認します。YYYY
x-fapi-* ヘッダーの使用が必要です。YYNN
クライアント認証で Private Key JWT の使用が必要です。YNYN
クライアント認証で mTLS の使用が必要です。NYNY
許可される response type。code id_tokencode id_tokencodecode
Private Key JWT アサーションで aud クレームが Issuer と厳密に一致する必要があります。NN/AYN/A
プッシュド認可リクエスト では redirect_uri パラメーターが必要です。NNYY
Auth0 の更新後の動作fapi1_adv_pkj_parfapi1_adv_mtls_parfapi2_sp_pkj_mtlsfapi2_sp_mtls_mtls
IDトークンに s_hash クレームを追加します。YYNN
profile スコープが要求されると、update_at クレームには文字列ではなく OIDC 準拠の Unix タイムスタンプが含まれます。YYYY
OIDC 準拠のエラーコードのみを返します。場合によっては Auth0 が追加のエラーコードを返すことがありますが、この準拠レベルを有効にすると、Auth0 は OpenID 標準で定義されたエラーコードのみを使用します。YYYY
code レスポンスで Issuer を iss パラメーターとして返します。NNYY
認可コードの最大有効期間を 60 秒に短縮します。NNYY

クライアントの FAPI準拠を設定する

Auth0 Dashboard で設定するには、次の手順に従います。
  1. Auth0 Dashboard > Applications に移動します。
  2. アプリケーションを選択します。
  3. Application Settings タブを選択します。
  4. Advanced Settings セクションを開きます。
  5. OAuth タブで、FAPI Compliance Enforcement Level を選択します。
FAPI準拠の設定オプションは次のとおりです。
  • None: 準拠レベルは不要です。これはデフォルト設定です。
  • FAPI 1 Advanced profile using Private Key JWT and PAR: このクライアントを、Private Key JWTPAR を使用する FAPI1 Advanced profile に準拠した動作にします。
  • FAPI 1 Advanced profile using mTLS and PAR: このクライアントを、mTLSPAR を使用する FAPI1 Advanced profile に準拠した動作にします。
  • FAPI 2.0 Security Profile with Private Key JWT and certificate binding: このクライアントを、Private Key JWT Client AuthenticationmTLS Token Sender-Constraining を使用する FAPI2.0 Security Profile に準拠した動作にします。
  • FAPI 2.0 Security Profile with mTLS and certificate binding: このクライアントを、mTLS Client AuthenticationmTLS Token Sender-Constraining を使用する FAPI2.0 Security Profile に準拠した動作にします。

詳細