> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# サードパーティアプリケーション向けセキュリティ制御

> OAuth 2.1 や API 認可を含む、Auth0 がサードパーティアプリケーションに適用するセキュリティ制御について説明します。

Auth0 は、サードパーティアプリケーションに対して強化されたセキュリティ制御を適用し、以下を確保しています。

* **プロトコルレベルのセキュリティ**: 最新かつ安全な認可フローを実現するため、[OAuth 2.1 のベストプラクティス](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1) に準拠します。
* **機能のスコープ**: 外部アプリケーションが、明示的に認可されたリソースにのみアクセスできるようにします。

<Warning>
  Auth0 は、サードパーティアプリケーション向けのセキュリティを継続的に強化しています。本番環境では、サポート対象として明示的にドキュメント化されている機能のみを使用してください。サポート対象外の機能は、今後の更新で予告なく変更または制限される場合があります。
</Warning>

<div id="oauth-21-standards">
  ## OAuth 2.1 標準
</div>

サードパーティアプリケーションでは、最新の OAuth 標準が適用されます。

* **PKCE 必須**: すべての認可コードフローで [Proof Key for Code Exchange](/ja/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) が必須です。これにより、認可コードの盗聴攻撃を防止できます。
* **サポートされるグラントタイプ**: `authorization_code`、`refresh_token`、`client_credentials`
* **Implicit grant および password grant はサポートされません**: ブラウザーの URL にトークンが露出したり、認証情報を直接扱う必要があったりする従来のグラントタイプは、サードパーティアプリケーションでは利用できません。

<div id="explicit-api-authorization">
  ## 明示的な API 認可
</div>

サードパーティアプリケーションが API にアクセスするには、API の[アクセスポリシー](/ja/docs/get-started/apis/api-access-policies-for-applications)にかかわらず、常に[クライアントグラント](/ja/docs/get-started/applications/application-access-to-apis-client-grants)が必要です。

| **API アクセスポリシー** | **ファーストパーティアプリケーション** | **サードパーティアプリケーション** |
| ---------------- | --------------------- | ------------------- |
| すべて許可            | アクセス許可あり              | クライアントグラントが必要       |
| クライアントグラントが必要    | クライアントグラントが必要         | クライアントグラントが必要       |
| 拒否               | アクセス拒否                | アクセス拒否              |

API が **Allow All** ポリシーに設定されている場合でも、サードパーティアプリケーションには明示的なグラントが必要です。アプリケーションごとの権限、または[サードパーティアプリケーションのデフォルト権限](/ja/docs/get-started/applications/application-access-to-apis-client-grants#default-permissions-for-third-party-applications)を設定できます。

サードパーティアプリケーションに、Management API や My Account API などの[システム API](/ja/docs/get-started/apis#system-apis)へのアクセスを付与することはできません。

<div id="machine-to-machine-client-credentials">
  ## マシン間通信 (Client Credentials)
</div>

サードパーティアプリケーションは、マシン間アクセス向けに `client_credentials` グラントタイプをサポートしています。これにより、ユーザーを介さずに、バックエンドでのパートナー連携やサーバー間の API アクセスが可能になります。

**要件と制約:**

* クライアントタイプ: アプリケーションは機密クライアントである必要があります (`token_endpoint_auth_method` を `none` にすることはできません) 。
* [組織](/ja/docs/manage-users/organizations): 組織でのマシン間アクセスがサポートされています。各組織に対して、明示的な [organization client grant](/ja/docs/manage-users/organizations/organizations-for-m2m-applications/configure-your-application-for-m2m-access) が必要です。`allow_any_organization` オプションは、サードパーティアプリケーションでは使用できません。サードパーティアプリケーションのデフォルト クライアントグラント では、`organization_usage` を設定できません。
* [Dynamic Client Registration](/ja/docs/get-started/applications/dynamic-client-registration) または [CIMD](/ja/docs/get-started/auth0-overview/create-applications/register-applications-with-cimd) で作成されたアプリケーションでは利用できません。

**拡張性:**

* `credentials-exchange` トリガーを持つ [Actions](/ja/docs/customize/actions) は、マシン間アクセスフローでも通常どおり実行されます。

<div id="restricted-client-configuration">
  ## 制限付きクライアント設定
</div>

サードパーティアプリケーションでは、制限された一部のクライアントプロパティのみ設定できます。Auth0 に新しいプロパティが追加されても、明示的にレビューされてサポート対象に追加されない限り、サードパーティアプリケーションでは使用できません。

主なサポート対象プロパティは次のとおりです。

| **プロパティ**                               | **注記**                                                                    |
| --------------------------------------- | ------------------------------------------------------------------------- |
| `name`, `description`, `logo_uri`       | 基本メタデータ                                                                   |
| `callbacks`                             | リダイレクト URI                                                                |
| `allowed_origins`, `web_origins`        | CORS および `web_message` のオリジン                                              |
| `grant_types`                           | `authorization_code`、`refresh_token`、`client_credentials` のいずれかである必要があります |
| `token_endpoint_auth_method`            | トークンエンドポイントの認証方式                                                          |
| `app_type`                              | `regular_web`、`spa`、`native`、`non_interactive` のいずれかである必要があります            |
| `client_metadata`                       | カスタムのキーと値のメタデータ                                                           |
| `jwt_configuration.lifetime_in_seconds` | アクセストークンの有効期間 (デフォルトは 3600)                                               |
| `jwt_configuration.alg`                 | 署名アルゴリズム (`RS256` のみサポート。`HS256` はサポートされていません)                            |
| `refresh_token.*`                       | ローテーション、有効期限、猶予期間、有効期間の設定                                                 |
| `client_authentication_methods`         | Private Key JWT (`private_key_jwt` のみ。mTLS はサポートされません)                    |
| `require_proof_of_possession`           | DPoP の設定                                                                  |
| `redirection_policy`                    | エラーフローおよびメールテンプレートのリダイレクト動作                                               |

サポートされているプロパティの完全な一覧については、Management API リファレンスの [Create a Client endpoint](https://auth0.com/docs/api/management/v2/clients/post-clients) を参照してください。

<div id="client-id-format">
  ## クライアントIDの形式
</div>

サードパーティアプリケーションには、作成時に `tpc_` プレフィックス付きの `client_id` が割り当てられます。このプレフィックスにより、Auth0 はサードパーティアプリケーションのトラフィックを個別に分類して管理でき、サードパーティアプリケーション向けのレート制限も適用できます。

セキュリティモードとアプリケーションの所有権は、いずれも永続的な設計上の決定事項です。

* `third_party_security_mode` は作成後に変更できません。
* サードパーティアプリケーションをファーストパーティアプリケーションに変換することはできません。逆も同様です。

<div id="refresh-token-settings">
  ## リフレッシュトークンの設定
</div>

サードパーティアプリケーションには、安全なリフレッシュトークン設定が適用されます。

* **有効期限は必須**: 有効期限のないリフレッシュトークンは使用できません。アイドル時の有効期間を無期限にすることもできません。
* **パブリッククライアントではデフォルトでローテーションが有効**: SPA およびネイティブのサードパーティアプリケーションでは、[OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1) と [MCP](https://modelcontextprotocol.io/specification/draft/basic/authorization) の要件に沿って、リフレッシュトークンのローテーションがデフォルトで有効になります。
* **設定可能**: 管理者は、手動で作成したサードパーティアプリケーションのローテーション、猶予期間、有効期間の設定を調整できます。

<div id="redirect-protection">
  ## リダイレクト保護
</div>

`redirection_policy` プロパティは、Auth0 がサードパーティアプリケーションへのリダイレクトをどのように扱うかを制御します。指定できる値は次の 2 つです。

| **Value**                                                 | **Behavior**                                                                             |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `open_redirect_protection` (default for third-party apps) | Auth0 は、認証エラー時にアプリのコールバックへリダイレクトしません。`application.callback_domain` 変数はメールテンプレートで公開されません。 |
| `allow_always`                                            | 標準のリダイレクト動作。                                                                             |

ユーザーの操作を伴わないリダイレクトは、リダイレクト URI が信頼できない第三者に制御されている場合、フィッシング攻撃の経路になる可能性があります (オープンリダイレクト) 。`redirection_policy` を `allow_always` に設定するのは、構成済みのコールバック URI を信頼できるアプリケーションに限ってください。

`open_redirect_protection` が有効な場合:

* 認証エラーが発生すると、アプリケーションにリダイレクトする代わりにエラーページが表示されます。
* メールテンプレート (メールアドレスの確認、パスワードのリセット、ユーザーのブロック) では `{{ application.callback_domain }}` にアクセスできません。そのため、`{{ application.callback_domain }}` を使用する場合は、必ずフォールバックもあわせて設定する必要があります。例:

```liquid wrap lines theme={null}
{% if application.callback_domain == '' %}
  https://YOUR_FALLBACK_DOMAIN
{% endif %}
{% if application.callback_domain != '' %}
  {{ application.callback_domain }}/result-page
{% endif %}
```

<div id="authorize-parameter-validation">
  ## `/authorize` パラメーターの検証
</div>

Auth0 は、サードパーティアプリケーションから `/authorize` エンドポイントに送信されたパラメーターを検証します。受け付けられるのは、標準の OAuth 2.0 および OpenID Connect パラメーターのみです。

**許可されるパラメーター:**

* `acr_values`
* `audience`
* `authorization_details`
* `client_id`
* `code_challenge`
* `code_challenge_method`
* `connection`
* `correlation_id`
* `display`
* `dpop_jkt`
* `ext-*` (カスタムパラメーター)
* `login_hint`
* `max_age`
* `nonce`
* `prompt`
* `redirect_uri`
* `resource`
* `response_type`
* `scope`
* `state`
* `ui_locales`

**サポート対象外:**

* `claims`
* `id_token_hint`
* `invitation`
* `login_ticket`
* `request` (JAR)
* `request_uri` (PAR)
* `screen_hint`

サポート対象外のパラメーターを含むリクエストには、`invalid_request` エラーが返されます。

<div id="backward-compatibility">
  ## 後方互換性
</div>

2026 年 4 月以前からサードパーティアプリケーションを使用している一部のテナントでは、後方互換性を維持するため、アプリケーションが異なるセキュリティ設定で動作している場合があります。詳細については、[Permissive Mode for Third-Party Applications](/ja/docs/get-started/applications/third-party-applications/permissive-mode) を参照してください。

<div id="features-not-supported">
  ## サポートされていない機能
</div>

以下の機能は、サードパーティアプリケーションではサポートされていません。

| **機能**                                                                           | **ステータス**                                                                                                                                     |
| -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **OIDC スコープとIDトークン**                                                             | サポートされていません。今後のリリースで対応予定です。                                                                                                                   |
| **`/userinfo` エンドポイント**                                                          | サポートされていません。                                                                                                                                  |
| **Auth0 system APIs** (Management API, MFA API, My Account API, My Orgs API)     | サポートされていません。サードパーティアプリケーションは、ユーザーフロー内で システム API にアクセスできません。                                                                                   |
| **リフレッシュトークン交換中のMFA**                                                            | サポートされていません。MFA がトリガーされるリフレッシュトークンのトランザクションではエラーが発生します。                                                                                       |
| **Rules**                                                                        | サポートされていません。有効な Rules があるテナントでは、strict なサードパーティアプリケーションがログインフローをトリガーするとエラーが返されます。                                                             |
| **Hooks** (credentials-exchange)                                                 | サポートされていません。有効な `credentials-exchange` Hook があるテナントではエラーが返されます。`credentials-exchange` の拡張機能は [Actions](/ja/docs/customize/actions) に移行してください。 |
| **OAuth 以外の Authentication API エンドポイント** (`/dbconnections/*`, `/passwordless/*`) | サポートされていません。                                                                                                                                  |
| **レガシーエンドポイント** (`/delegation`, `/oauth/ro`)                                     | サポートされていません。                                                                                                                                  |
| **SAML, WsFed**                                                                  | サポートされていません。                                                                                                                                  |
| **Classic Login**                                                                | サポートされていません。[Universal Login](/ja/docs/authenticate/login/auth0-universal-login) を使用してください。                                                   |
| **PAR, CIBA, Device Code**                                                       | サポートされていません。今後のリリースで対応予定です。                                                                                                                   |
| **ログアウトエンドポイント**                                                                 | サポートされていません。トークンを失効するには `POST /oauth/revoke` を使用してください。                                                                                       |
| **クロスオリジン認証**                                                                    | サポートされていません。                                                                                                                                  |
| **バックチャネルログアウト**                                                                 | サポートされていません。今後のリリースで対応予定です。                                                                                                                   |
| **クライアントIDのインポート**                                                               | サポートされていません。                                                                                                                                  |
| **URL 内のワイルドカードサブドメイン**                                                          | サポートされていません。コールバックURL、許可済みオリジン、Web オリジンには正確な URL を使用する必要があります。                                                                                |

<div id="learn-more">
  ## 詳細はこちら
</div>

* [サードパーティアプリケーション](/ja/docs/get-started/applications/third-party-applications)
* [サードパーティアプリケーションの設定](/ja/docs/get-started/applications/third-party-applications/configure-third-party-applications)
* [サードパーティアプリケーションのトラブルシューティング](/ja/docs/get-started/applications/third-party-applications/troubleshooting)
* [API へのアプリケーションアクセス: クライアントグラント](/ja/docs/get-started/applications/application-access-to-apis-client-grants)
* [サードパーティアプリケーション向け Permissive Mode](/ja/docs/get-started/applications/third-party-applications/permissive-mode)
