Skip to main content
外部の開発者、パートナー、またはAIエージェントが、強化されたセキュリティ管理のもとでお使いのAPIにアクセスできるサードパーティアプリケーションを作成します。

前提条件

サードパーティアプリケーションを作成する前に、次の項目を満たしていることを確認してください。

サードパーティアプリケーションを作成する

Auth0 Dashboard または Management API を使用して、サードパーティアプリケーションを作成します。
  1. Applications > Applications に移動します。
  2. Create Application を選択します。
  3. アプリケーション名を入力し、アプリケーションタイプを選択します。
    • サーバーサイドの機密クライアントの場合は Regular Web App
    • ブラウザベースのパブリッククライアントの場合は Single Page App
    • モバイルまたはデスクトップのパブリッククライアントの場合は Native
  4. This application is owned by a third party トグルをオンにします。
  5. Create を選択します。
サードパーティのトグルが有効になっている Dashboard の Create Application ダイアログ
third_party_security_mode プロパティは作成時に設定され、あとから変更することはできません。別のセキュリティモードを使用するには、新しいアプリケーションを作成してください。

APIアクセスポリシーを設定する

サードパーティアプリケーションがAPIにアクセスするには、明示的な client grants が必要です。APIアクセスポリシーは、次の方法で設定できます。 同じAPIに対してアプリケーションごとの権限とサードパーティアプリケーションのデフォルト権限の両方が設定されている場合は、アプリケーションごとの権限が優先されます。詳しくは、Application Access to APIs: Client Grantsを参照してください。

アプリケーションごとの権限

特定のサードパーティアプリケーションに、既定より広い、または狭いアクセス権を付与するには、そのアプリケーションの client_id に対するクライアントグラントを作成します。
  1. Applications > APIs に移動し、対象の API を選択します。
  2. Settings タブを開きます。
  3. Application Access Policy までスクロールし、User-Delegated AccessClient AccessPer-app authorization に設定します。
  4. Save を選択します。
アプリケーションアクセスポリシーの Dashboard API Settings
アプリケーションごとの権限を設定する場合は、各アプリケーションの API アクセスを個別に許可する必要があります。
  1. Applications > APIs に移動し、対象の API を選択します。
  2. Application Access タブを開きます。
  3. 対象のアプリケーションまでスクロールし、Edit を選択してから、User-Delegated Access および/または Client AccessGrant Access を選択します。次に、必要な権限を選択します。
  4. Save を選択します。
アプリケーションへの API アクセス付与の Dashboard API Settings

すべてのサードパーティアプリケーションのデフォルト権限

デフォルト権限では、すべてのサードパーティアプリケーションで利用できる API とスコープの基本セットを定義します。これは 動的クライアント登録 で必要です。この場合、アプリケーションごとに個別のアクセス設定はできません。
  1. Applications > APIs に移動し、API を選択します。
  2. Settings タブを開きます。
  3. Default Permissions for Third Party Apps までスクロールします。
  4. User-Delegated Access または Client AccessAuthorized を選択します。
  5. 付与するスコープを選択し、Save を選択します。
Default Permissions for Third Party Apps が表示された Dashboard API Settings

接続を設定する

サードパーティアプリケーションは、ドメインレベルの接続を介してのみユーザーを認証できます。接続をドメインレベルに昇格すると、そのテナント内のすべてのサードパーティアプリケーションで利用できるようになります。 接続をドメインレベルに昇格するには:
  1. Auth0 Dashboard > Authentication に移動し、接続タイプ (Database、Social、Enterprise) を選択します。
  2. サードパーティアプリケーションで使用する接続を選択します。
  3. Promote Connection to Domain Level トグルを有効にします。
詳しくは、Promote Connections to Domain Levelを参照してください。
サードパーティアプリケーションは、エンタープライズIdPでアクセスが認可されている限り、Cross App Access (XAA) を通じてドメインレベルに昇格されていない接続にアクセスできます。標準のログインフロー (/authorize エンドポイント) とXAAの両方を通じて、任意のサードパーティアプリケーションにその接続へのアクセスを許可する場合にのみ、接続をドメインレベルに昇格してください。この接続を通じてサードパーティアプリケーションがトークンを取得する唯一の方法をXAAにしたい場合は、ドメインレベルに昇格しないでください。

Organizationsへのアクセスを設定する

ユーザーが組織のコンテキストでサードパーティアプリケーションを介して認証されるには、次の2つの条件を満たす必要があります。
  1. 上記のセクションで説明したように、接続をドメインレベルに昇格させる必要があります。
  2. 組織のthird_party_client_accessallowに設定する必要があります。
いずれかの条件を満たしていない場合、認可リクエストはinvalid_requestで失敗します。組織でサードパーティアプリケーションからのアクセスを有効にする方法については、組織でサードパーティアプリケーションからのアクセスを有効にするを参照してください。
サードパーティアプリケーションは外部の開発者が管理しているため、認可リクエストに organization パラメータが含まれることを保証できません。ユーザーが正しい組織コンテキストにルーティングされるよう、アプリケーションで Prompt for Credentials または Prompt for Organization を設定してください。
Organizations のマシンツーマシンアクセスでは、サードパーティアプリケーションごとに、組織ごとの明示的な organization_client_grant が必要です。allow_any_organization は使用できません。詳しくは、Organizations for M2M Applications を参照してください。 ユーザーの同意は組織コンテキスト単位で適用されます。ある組織で同意したユーザーが、別の組織を通じて同じアプリケーションにアクセスする場合は、再度同意する必要があります。詳しくは、Consent with Organizations を参照してください。

動作の概要

オープンリダイレクト保護を設定する

強化されたセキュリティ制御が適用されるサードパーティアプリケーションでは、Open Redirect Protection がデフォルトで有効になっています。有効になっている場合、Auth0 は次のことを行いません。
  • 認証エラー時に、アプリケーションのコールバック URL にリダイレクトする
  • メールテンプレート内で application.callback_domain を公開する
設定されているコールバック URI を信頼できるサードパーティアプリケーションでのみ、Open Redirect Protection を無効にしてください。詳しくは、Redirect Protection を参照してください。
  1. Applications > Applications に移動し、対象のサードパーティアプリケーションを選択します。
  2. Settings タブを開き、Open Redirect Protection までスクロールします。
  3. 設定をオンまたはオフに切り替えます。
  4. Save を選択します。
Dashboard Open Redirect Protection toggle

動的クライアント登録

dynamically registered clients はすべてサードパーティアプリケーションです。DCR を有効にする前に、動的登録されたクライアントがお使いの API にアクセスできるよう、デフォルトの API 権限を設定してください。

さらに詳しく