ハイリーレギュレーテッドアイデンティティ機能を使用するには、エンタープライズプランとハイリーレギュレーテッドアイデンティティアドオンが必要です。詳細については、「Auth0の価格設定」を参照してください。
compliance_levelプロパティが含まれています。
nullまたは未定義:コンプライアンスレベルは必要ありません。これはデフォルトです。fapi1_adv_mtls_par:ユーザーはmTLSとPARを使用したFAPI 1高度プロファイルに準じてこのクライアントが行動することを望んでいます。fapi1_adv_pkj_par:ユーザーは秘密鍵JWTとPARを使用したFAPI 1高度プロファイルに準じてこのクライアントが行動することを望んでいます。
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の両方の準拠レベルは、Auth0が、状態値のSHA256ハッシュを含む、返されたIDトークンにs_hashクレームが含まれる原因になります。これにより、IDトークンがデタッチ署名として機能できるようなります。
以下の表は、追加の検証ルールおよび各準拠レベルで可能なAuth0の動作の変更をまとめたものです。
| 検証 | fapi1_adv_pkj_par | fapi1_adv_mtls_par |
|---|---|---|
/userinfoの呼び出しでアクセストークンがURLクエリで渡されることを防ぐ。その代わりに、アクセストークンは必ず認可ヘッダーに含める。 | 要 | 要 |
| PARが必要。 | 要 | 要 |
| S256チャレンジを使用したPKCEが必要。 | 要 | 要 |
| クライアントの許可されたコールバックにワイルドカードが使用されることを防ぐ。 | 要 | 要 |
| JARの使用を強制する。 | 要 | 要 |
| JARペイロードがPS256アルゴリズムを使って署名されることを確実にする。 | 要 | 要 |
| JARペイロードにnbfクレームが含まれ、その値が60分以下であることを確実にする。 | 要 | 要 |
| JARペイロードにexpクレームが含まれ、その値がnbfクレームの値から60分までであることを確実にする。 | 要 | 要 |
クライアントがoidc_conformantプロパティをtrueに設定していることを確実にする。 | 要 | 要 |
| クライアント認証に秘密鍵JWTの使用が必要。 | 要 | 不要 |
| クライアント認証にmTLSの使用が必要。 | 不要 | 要 |
| Auth0の更新された動作 | fapi1_adv_pkj_par | fapi1_adv_mtls_par |
|---|---|---|
| s_hashクレームをIDトークンに追加します。 | 有 | 有 |
プロファイルスコープが要求される場合、update_atクレームには文字列でなく、OIDC準拠のUnixタイムスタンプが含まれます。 | 有 | 有 |
| OIDC準拠のエラーコードのみを返します。Auth0がその他のエラーコードを返す場合もありますが、このコンプライアンスレベルを有効にしておけば、OpenID基準で定義されたエラコードのみが使用されます。 | 有 | 有 |
クライアントのFAPI準拠の設定
- Auth0 Dashboard
- Management API
Auth0 Dashboardを使用して、これを実行する方法:
- [Auth0 Dashboard] > [Applications(アプリケーション)] に移動します。
- アプリケーションを選択します。
- [Application Settings(アプリケーションの設定)] タブを選択します。
- [Advanced Settings(高度な設定)] セクションを開きます。
- [OAuth0]タブ から、[FAPI Compliance Enforcement Level(FAPIコンプライアンス強制適用レベル)] を選択します。