Auth0 でアプリケーションを登録する際は、その所有者と運用主体に基づいて、ファーストパーティかサードパーティかを判断します。
- ファーストパーティアプリケーション: あなたの組織が所有し、運用するアプリケーションです。デプロイ、認証情報、動作はあなたが管理します。
- サードパーティアプリケーション: 外部の組織が所有し、運用するアプリケーションです。たとえば、パートナー、独立系開発者、AI エージェントなどが該当します。これらに対してはあなたのリソースへのアクセスを許可しますが、そのアクセスを使って何をするかをあなたが直接制御することはできません。
“サードパーティ” は、作成者ではなく運用管理上の区分を指します。多くの組織は、自社アプリケーションの開発を外部委託しています。たとえば、請負業者があなたのアプリケーションを構築したとしても、それだけでサードパーティになるわけではありません。重要な違いは、誰がそれをデプロイし、誰が認証情報を保持し、誰が停止できるかです。
Confidential/public とファーストパーティ/サードパーティは、それぞれ独立した分類です。Confidential または public は、アプリケーションの認証機能 (シークレットを保持できるかどうか) を表します。ファーストパーティまたはサードパーティは、信頼関係 (そのアプリケーションを誰が所有し、運用しているか) を表します。
ファーストパーティアプリケーションとサードパーティアプリケーションは、どちらも confidential (Regular Web App) にも public (SPA、Native) にもなり得ます。サードパーティの Regular Web App は、confidential であると同時にサードパーティでもあります。
ファーストパーティアプリケーションは、Auth0ドメインを所有する組織または個人自身が管理するアプリケーションです。たとえば、Contoso API と、contoso.com にログインして Contoso API を利用するアプリケーションを作成したとします。この場合、API とアプリケーションの両方を同じ Auth0ドメインに登録するため、そのアプリケーションはファーストパーティアプリケーションになります。デフォルトでは、Auth0 Dashboard で作成されたすべてのアプリケーションはファーストパーティアプリケーションです。
サードパーティアプリケーションは、通常、Auth0 のドメインに対する管理アクセス権を持つべきではない第三者によって管理されます。これにより、外部の事業者やパートナーは、API の背後にある保護されたリソースへ安全にアクセスできます。
たとえば、パートナー企業がサービスの情報を可視化するデータ分析ダッシュボードを構築する場合、まずそのアプリケーションを Auth0 テナントに登録し、 とシークレットを取得する必要があります。このアプリケーションは環境内に登録されていても、コードと認証情報を所有し運用しているのは組織ではなくパートナーであるため、サードパーティと見なされます。
Dynamic Client Registration を通じて作成されるアプリケーションは、すべてサードパーティアプリケーションです。Auth0 におけるサードパーティアプリケーションの詳細については、サードパーティアプリケーション を参照してください。
Auth0 におけるファーストパーティとサードパーティの違い
次の表は、Auth0 におけるファーストパーティアプリケーションとサードパーティアプリケーションの違いをまとめたものです。
| First-party | Third-party |
|---|
| API access | API に設定されたアクセスポリシーに従う | 常に明示的なクライアントグラントが必要 |
| Auth0 system APIs | ユーザーフローでアクセス可能 | ユーザーフローではアクセス不可 |
| User consent | スキップ可能 (API で有効化されている場合) | 常に必要 |
| Grant types | サポートされているすべてのグラントタイプ | authorization_code、refresh_token、client_credentials |
| OIDC | サポート対象 | 非対応。今後のリリースで対応予定です。 |
| Rules | 実行される | 非対応。エラーになります。 |
| Non-OAuth protocols (SAML, WsFed) | サポート対象 | 非対応 |
| Organizations | サポート対象 | 組織クライアントグラントによるマシンツーマシンアクセスをサポート。ユーザーフローは今後のリリースで対応予定です。 |
| クライアントID format | 標準形式 | tpc_ プレフィックス |
| Connections | 有効になっているすべての接続 | ドメインレベルの接続 |
Auth0 のサードパーティアプリケーションの詳細については、サードパーティアプリケーションを参照してください。
アプリケーションの所有権は作成時に決まり、その後は変更できません。デフォルトでは、アプリケーションはファーストパーティとして作成され、制限が比較的少ないセキュリティ設定が適用されます。適切なセキュリティ制御が適用されるようにするには、外部の第三者が所有するアプリケーションを、Auth0 Dashboard または Management API で作成する際に、サードパーティアプリケーションとして正しく指定する必要があります。手順については、サードパーティアプリケーションの設定を参照してください。
アプリケーションの所有権は変更できません。サードパーティアプリケーションをファーストパーティに変更することも、その逆を行うこともできません。
アプリケーションがファーストパーティかサードパーティかを確認するには:
Auth0 Dashboard
Management API
- Applications > Applications に移動します。
- アプリケーションを選択します。サードパーティアプリケーションには、サードパーティ製であることを示すバッジが表示されます。
Get a Client endpointにGETリクエストを送信します。{YOUR_CLIENT_ID}と{YOUR_MANAGEMENT_API_ACCESS_TOKEN}のプレースホルダー値を、それぞれとManagement APIのに置き換えてください。| 値 | 説明 |
|---|
YOUR_CLIENT_ID | 更新対象のアプリケーションのID。 |
YOUR_MANAGEMENT_API_ACCESS_TOKEN | Management API のアクセストークン (スコープ read:clients を含むもの) 。 |
アプリケーションがファーストパーティの場合、is_first_party フィールドの値は true になります。アプリケーションがサードパーティの場合、is_first_party フィールドの値は false になります。