Highly Regulated Identity 機能を利用するには、Highly Regulated Identity アドオンを含む Enterprise プランが必要です。詳しくは Auth0 Pricing を参照してください。
compliance_level プロパティがあり、これに以下の値を設定できます。
nullまたは undefined: 準拠レベルは不要です。これはデフォルトです。fapi1_adv_mtls_par: このクライアントを、mTLS と PAR を使用する FAPI1 Advanced profile に準拠した動作にしたい場合に指定します。fapi1_adv_pkj_par: このクライアントを、Private Key JWT と PAR を使用する FAPI1 Advanced profile に準拠した動作にしたい場合に指定します。fapi2_sp_pkj_mtls: このクライアントを、Private Key JWT と mTLS Token Sender-Constraining を使用する FAPI 2.0 Security Profile に準拠した動作にしたい場合に指定します。fapi2_sp_mtls_mtls: このクライアントを、mTLS Client Authentication と mTLS Token Sender-Constraining を使用する FAPI 2.0 Security Profile に準拠した動作にしたい場合に指定します。
compliance_level を設定すると、認可リクエストと設定の両方が選択した標準に準拠していない限り、認可リクエストは成功しません。
たとえば、fapi1_adv_pkj_par と fapi1_adv_mtls_par の準拠レベルでは、どちらも PAR が必要です。これらの準拠レベルのいずれかを選択した場合は、require_pushed_authorization_requests 設定の値にかかわらず、PAR が必須になります。PAR を使用せずに認可を試みると、次のエラーレスポンスが返されます。
fapi1_adv_pkj_par と fapi1_adv_mtls_par の両方の準拠レベルでは、返される に、state 値の SHA256 ハッシュを含む s_hash クレームが追加されます。これにより、ID トークンをデタッチド署名として利用できます。
次の表は、各準拠レベルで有効になる追加の検証ルールと、Auth0 の動作の変更点をまとめたものです。
クライアントの FAPI 準拠を設定する
- Auth0 Dashboard
- Management API
Auth0 Dashboard を使用して設定するには、次の手順に従います。
- Auth0 Dashboard > アプリケーション に移動します。
- アプリケーションを選択します。
- Application Settings タブを選択します。
- Advanced Settings セクションを開きます。
- OAuth タブで、FAPI Compliance Enforcement Level を選択します。
- None: 準拠レベルは不要です。これはデフォルト設定です。
- FAPI 1 Advanced profile using Private Key JWT and PAR: このクライアントを、Private Key JWT と PAR を使用する FAPI1 Advanced profile に準拠して動作させる場合に選択します。
- FAPI 1 Advanced profile using mTLS and PAR: このクライアントを、mTLS と PAR を使用する FAPI1 Advanced profile に準拠して動作させる場合に選択します。
- FAPI 2.0 Security Profile with Private Key JWT and certificate binding: このクライアントを、Private Key JWT Client Authentication と mTLS Token Sender-Constraining を使用する FAPI2.0 Security Profile に準拠して動作させる場合に選択します。
- FAPI 2.0 Security Profile with mTLS and certificate binding: このクライアントを、mTLS Client Authentication と mTLS Token Sender-Constraining を使用する FAPI2.0 Security Profile に準拠して動作させる場合に選択します。