外部の開発者、パートナー、または 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 リクエストを送信します。| Parameter | Type | Description |
|---|
name | String | 必須。アプリケーションの名前。 |
is_first_party | Boolean | アプリケーションがファーストパーティ (true) かサードパーティ (false) かを示します。 |
app_type | String | アプリケーションのタイプ (例: regular_web、native、spa、non_interactive) 。 |
callbacks | Array | 認証後のリダイレクトに使用できる許可済みコールバックURLのリスト。 |
grant_types | Array | このクライアントで使用が許可されている OAuth2 グラントタイプのリスト。サードパーティアプリケーションでは authorization_code、refresh_token、client_credentials をサポートします。詳細は、Security Controls for Third-Party Applications を参照してください。 |
token_endpoint_auth_method | String | トークンエンドポイントの認証方式 (例: client_secret_post) 。 |
成功すると、Auth0 は tpc_ のクライアントIDプレフィックスと authorization_code および refresh_token のグラントタイプを持つアプリケーションを作成し、third_party_security_mode を strict に設定します。これは、強化されたセキュリティ制御が有効になっていることを示します。{
"client_id": "tpc_aBcDeFgHiJkLmNoPqRsTuV",
"third_party_security_mode": "strict",
"is_first_party": false,
"name": "Partner Application",
"grant_types": ["authorization_code", "refresh_token"],
...
}
| Parameter | Type | Description |
|---|
client_id | String | tpc プレフィックスを持つアプリケーションの一意の識別子です。このプレフィックスは、strict モードを有効にして作成されたサードパーティアプリケーションであることを示します。 |
third_party_security_mode | String | セキュリティプロファイルを定義します。サードパーティアプリケーションに対して強化されたセキュリティ制約を適用するには、strict に設定します。 |
is_first_party | Boolean | アプリをサードパーティとして識別するため、strict セキュリティモードを使用する場合は false に設定する必要があります。 |
name | String | アプリケーションの表示名。 |
grant_types | Array | このアプリケーションで使用が許可されている OAuth2 グラントタイプ (例: authorization_code) 。 |
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 リクエストを送信します。| パラメーター | 型 | 説明 |
|---|
default_for | String | このグラントを特定のアプリ種別に自動適用するかどうかを指定します。third_party_clients に設定すると、すべてのサードパーティアプリがデフォルトでこの API にアクセスできるようになります。 |
audience | String | グラントの作成対象となる API の一意の識別子 (URI) です。 |
scope | Array | このグラントの一部として許可される権限 (スコープ) のリストです。 |
subject_type | String | API に対して許可されるアプリケーションアクセスの種類を定義します。
user: エンドユーザーに関連付けられたトークンを生成するフローに対応する、ユーザー委任アクセスに使用します。client: Client Credentials Flow などのマシン間アクセスに使用します。
|
サードパーティアプリケーションは、ドメインレベルの接続を通じてのみユーザーを認証できます。接続をドメインレベルに昇格すると、そのテナント内のすべてのサードパーティアプリケーションで使用できるようになります。
接続をドメインレベルに昇格するには:
- 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 プロパティを設定します。curl --request PATCH \
--url 'https://{yourDomain}/api/v2/clients/{CLIENT_ID}' \
--header 'Authorization: Bearer {YOUR_MANAGEMENT_API_TOKEN}' \
--header 'Content-Type: application/json' \
--data '{
"redirection_policy": "allow_always"
}'
有効にするには open_redirect_protection (デフォルト) 、無効にするには allow_always を設定します。
動的に登録されたクライアントはすべてサードパーティアプリケーションです。DCR を有効にする前に、動的に登録されたクライアントが API にアクセスできるよう、デフォルトの API 権限を設定してください。