前提条件
- 少なくとも 1 つの API (リソースサーバー) が設定された Auth0 テナント
- (ユーザー向けフローの場合) 少なくとも 1 つの 接続 が ドメインレベル に昇格されていること
サードパーティアプリケーションを作成する
- Auth0 Dashboard
- Management API
- Applications > Applications に移動します。
- Create Application を選択します。
- アプリケーション名を入力し、アプリケーションタイプを選択します。
- サーバーサイドの機密クライアントの場合は Regular Web App
- ブラウザベースのパブリッククライアントの場合は Single Page App
- モバイルまたはデスクトップのパブリッククライアントの場合は Native
- This application is owned by a third party トグルをオンにします。
- Create を選択します。

third_party_security_mode プロパティは作成時に設定され、あとから変更することはできません。別のセキュリティモードを使用するには、新しいアプリケーションを作成してください。APIアクセスポリシーを設定する
- アプリケーションごとの権限: テナント内の各アプリケーションにきめ細かな権限を適用します。
- すべてのサードパーティアプリケーションのデフォルト権限: テナント内のすべてのサードパーティアプリケーションにデフォルトの権限を適用します。
アプリケーションごとの権限
client_id に対するクライアントグラントを作成します。
- Auth0 Dashboard
- Management API
- Applications > APIs に移動し、対象の API を選択します。
- Settings タブを開きます。
- Application Access Policy までスクロールし、User-Delegated Access と Client Access を Per-app authorization に設定します。
- Save を選択します。

- Applications > APIs に移動し、対象の API を選択します。
- Application Access タブを開きます。
- 対象のアプリケーションまでスクロールし、Edit を選択してから、User-Delegated Access および/または Client Access の Grant Access を選択します。次に、必要な権限を選択します。
- Save を選択します。

すべてのサードパーティアプリケーションのデフォルト権限
- Auth0 Dashboard
- Management API
- Applications > APIs に移動し、API を選択します。
- Settings タブを開きます。
- Default Permissions for Third Party Apps までスクロールします。
- User-Delegated Access または Client Access で Authorized を選択します。
- 付与するスコープを選択し、Save を選択します。

接続を設定する
- Auth0 Dashboard > Authentication に移動し、接続タイプ (Database、Social、Enterprise) を選択します。
- サードパーティアプリケーションで使用する接続を選択します。
- Promote Connection to Domain Level トグルを有効にします。
サードパーティアプリケーションは、エンタープライズIdPでアクセスが認可されている限り、Cross App Access (XAA) を通じてドメインレベルに昇格されていない接続にアクセスできます。標準のログインフロー (
/authorize エンドポイント) とXAAの両方を通じて、任意のサードパーティアプリケーションにその接続へのアクセスを許可する場合にのみ、接続をドメインレベルに昇格してください。この接続を通じてサードパーティアプリケーションがトークンを取得する唯一の方法をXAAにしたい場合は、ドメインレベルに昇格しないでください。Organizationsへのアクセスを設定する
- 上記のセクションで説明したように、接続をドメインレベルに昇格させる必要があります。
- 組織の
third_party_client_accessをallowに設定する必要があります。
invalid_requestで失敗します。組織でサードパーティアプリケーションからのアクセスを有効にする方法については、組織でサードパーティアプリケーションからのアクセスを有効にするを参照してください。
サードパーティアプリケーションは外部の開発者が管理しているため、認可リクエストに
organization パラメータが含まれることを保証できません。ユーザーが正しい組織コンテキストにルーティングされるよう、アプリケーションで Prompt for Credentials または Prompt for Organization を設定してください。organization_client_grant が必要です。allow_any_organization は使用できません。詳しくは、Organizations for M2M Applications を参照してください。
ユーザーの同意は組織コンテキスト単位で適用されます。ある組織で同意したユーザーが、別の組織を通じて同じアプリケーションにアクセスする場合は、再度同意する必要があります。詳しくは、Consent with Organizations を参照してください。
動作の概要
オープンリダイレクト保護を設定する
- 認証エラー時に、アプリケーションのコールバック URL にリダイレクトする
- メールテンプレート内で
application.callback_domainを公開する
- Auth0 Dashboard
- Management API
- Applications > Applications に移動し、対象のサードパーティアプリケーションを選択します。
- Settings タブを開き、Open Redirect Protection までスクロールします。
- 設定をオンまたはオフに切り替えます。
- Save を選択します。
