外部の開発者、パートナー、または AI エージェントが、より強化されたセキュリティ管理のもとで API にアクセスできるように、サードパーティアプリケーションを作成します。
サードパーティアプリケーションを作成する前に、次の要件を満たしていることを確認してください。
Auth0 Dashboard または Management API を使用して、サードパーティアプリケーションを作成します。
Auth0 Dashboard
Management API
- Applications > Applications に移動します。
- Create Application を選択します。
- アプリケーションの名前を入力し、アプリケーションのタイプを選択します。
- サーバーサイドの機密クライアントの場合は Regular Web App
- ブラウザベースのパブリッククライアントの場合は Single Page App
- モバイルまたはデスクトップのパブリッククライアントの場合は Native
- This application is owned by a third party トグルをオンにします。
- Create を選択します。
次のリクエストボディを指定して、/api/v2/clients エンドポイントに POST リクエストを送信します。成功すると、Auth0 は tpc_ のクライアントIDプレフィックスと authorization_code および refresh_token のグラントタイプを持つアプリケーションを作成し、third_party_security_mode を strict に設定します。これは、強化されたセキュリティ制御が有効になっていることを示します。
third_party_security_mode プロパティは作成時に設定され、後から変更できません。別のセキュリティモードを使用するには、新しいアプリケーションを作成してください。
サードパーティアプリケーションが API にアクセスするには、明示的なクライアントグラントが必要です。API アクセスポリシーは、次の方法で設定できます。
同じ API に対して、アプリケーションごとの権限とサードパーティアプリケーション向けのデフォルト権限の両方が設定されている場合は、アプリケーションごとの権限が優先されます。詳細については、Application Access to APIs: Client Grants を参照してください。
特定のサードパーティアプリケーションに、デフォルトより広いまたは狭いアクセス権を付与するには、そのアプリケーションの client_id に対するクライアントグラントを作成します。
Auth0 Dashboard
Management API
- Applications > APIs に移動し、API を選択します。
- Settings タブを開きます。
- Application Access Policy までスクロールし、User-Delegated Access と Client Access を Per-app authorization に設定します。
- Save を選択します。
アプリケーションごとの権限を設定する場合は、各アプリケーションの API アクセスを個別に許可する必要があります。
- Applications > APIs に移動し、API を選択します。
- Application Access タブを開きます。
- 対象のアプリケーションまでスクロールし、Edit を選択してから、User-Delegated Access および/または Client Access の Grant Access を選択します。続いて、必要な権限を選択します。
- Save を選択します。
すべてのサードパーティアプリケーション向けのデフォルト権限
デフォルト権限は、すべてのサードパーティアプリケーションで利用可能な API とスコープの基本セットを定義します。これは、アプリケーションごとに個別にアクセスを設定できない 動的クライアント登録 で必要です。
Auth0 Dashboard
Management API
- Applications > APIs に移動し、API を選択します。
- Settings タブを開きます。
- Default Permissions for Third Party Apps までスクロールします。
- User-Delegated Access または Client Access で Authorized を選択します。
- 付与するスコープを選択し、Save を選択します。
次のリクエストボディを指定して、/api/v2/client-grants エンドポイントに POST リクエストを送信します。
サードパーティアプリケーションは、ドメインレベルの接続を通じてのみユーザーを認証できます。接続をドメインレベルに昇格すると、そのテナント内のすべてのサードパーティアプリケーションで使用できるようになります。
接続をドメインレベルに昇格するには:
- Auth0 Dashboard > Authentication に移動し、接続タイプ (Database、Social、Enterprise) を選択します。
- サードパーティアプリケーションで使用する接続を選択します。
- Promote Connection to Domain Level トグルを有効にします。
詳細については、Promote Connections to Domain Levelを参照してください。
強化されたセキュリティ制御が適用されたサードパーティアプリケーションでは、Open Redirect Protection がデフォルトで有効になっています。有効な場合、Auth0 は次の動作を行いません。
- 認証エラー時に、アプリケーションのコールバック URL にリダイレクトする
- メールテンプレートで
application.callback_domain を公開する
Open Redirect Protection を無効にするのは、設定されたコールバック URI を信頼できるサードパーティアプリケーションに限ってください。詳しくは、Redirect Protection を参照してください。
Auth0 Dashboard
Management API
- Applications > Applications に移動し、対象のサードパーティアプリケーションを選択します。
- Settings タブを開き、Open Redirect Protection までスクロールします。
- 設定のオン/オフを切り替えます。
- Save を選択します。
アプリケーションの作成時または更新時に、redirection_policy プロパティを設定します。有効にするには open_redirect_protection (デフォルト) 、無効にするには allow_always を設定します。
動的に登録されたクライアントはすべてサードパーティアプリケーションです。DCR を有効にする前に、動的に登録されたクライアントが API にアクセスできるよう、デフォルトの API 権限を設定してください。