組織
hoekstra 組織と、MetaHexa Bank を表す metahexa 組織を作成します。組織は、組織を作成する を で手動作成することも、Auth0 の を使ってプログラムから作成することもできます。
アプリケーション
client_idパラメーターと、使用するAuth0 Organizationを識別するorganizationパラメーターの両方を、/authorizeエンドポイントの呼び出し時に送信することになります。詳しくは、Authenticationを参照してください。
ベストプラクティス設定を簡単にし、セキュリティ分離を最大限に高めるため、Auth0ではアプリケーションを個別に定義してください。これにより、許可するコールバックURLなどをそれぞれ個別に設定できるほか、最小権限の原則に従って、Client IDやClient Secretの情報が露出する可能性を最小限に抑えられます。
client_idを使用することになりますが、/authorizeエンドポイントの呼び出しではorganizationパラメーターは省略されます。
Connections
ベストプラクティス単一の Identity Provider (IdP) Organization では、さまざまなユースケースに柔軟に対応できるよう、定義した Organization ごとに 1 つの Connection を作成してください。たとえば、Organization ごとに 1 つの Database or Custom Database Connection を用意しておくと、廃止された Organization に関連するユーザーを簡単に削除できるほか、パスワードの複雑さに関する要件が異なる Organization にも最大限柔軟に対応できます。
Users
ユーザーに organization への メンバーシップ を手動で割り当てるには、そのユーザーの User Profile が Auth0 にすでに存在している必要があります。メンバーシップ を手動で割り当てる には、Auth0 Tenant Dashboard または Auth0 Management API のいずれかを使用できます。
招待
データベース接続

-
Hoekstra & Associates の Jennifer は、Hoekstra & Associates の Travel0 Corporate Booking インスタンスに代わって Travel0 の Auth0 テナントから送信されたメールを受信します。
- メールは、組織メンバーを招待するで説明されているとおりに送信されたもので、Auth0 Dashboard または Auth0 Management API を使用してトリガーされた可能性があります。
-
Jenniferはメールを開き、その中のリンクをクリックします。すると、ブラウザーはHoekstra & AssociatesのTravel0 Corporate Bookingインスタンスへ移動します。リンクで使用されるベースURLはApplication Login URIとして指定されており、これはTravel0 Auth0テナント内のHoekstra & AssociatesのTravel0 Corporate Bookingアプリケーション定義の一部です。
- リンクには
organizationとorganization_nameパラメーターが含まれています。organizationパラメーターには、Auth0テナント内の対応する Auth0 Organization 定義の ID が設定されています。これはステップ 3 の一部として Auth0テナントに渡されます。 - リンクには
invitationパラメーターも含まれており、これもステップ 3 の一部として渡されます。
- リンクには
-
Hoekstra & Associates の Travel0 Corporate Booking インスタンスは、
/authorizeエンドポイントを呼び出して以下のようなパラメータを渡すことで、認可コードフロー (PKCE の有無を問わず) を使用し、Travel0 Auth0テナントにリダイレクトします。通常、これは Auth0 SDK またはサードパーティ製ライブラリを使用して行われます。redirect_uri:https://hoekstra.corp.travel0.net/login/callbackresponse_type:codestate: このセッションで生成された一意のstatescope:openid profile…- ユーザーについて必要な情報に応じて、追加で必要なOIDC スコープ。
client_id: Hoekstra & Associates’ の Travel0 Corporate Booking インスタンス向けに、Travel0 Auth0 テナントで作成した Application に関連付けられた Client ID。organization: 招待元の組織の ID。通常はステップ 2 で説明したメール内のリンクから取得します。organization=organization_id の形式で指定します。ここで、organization_id には、Auth0 テナント内の対応する Auth0 Organization 定義に関連付けられた識別子を設定します。invitation: ステップ 2 で説明したとおり、メール内のリンクに関連付けられた追加のinvitationパラメーター。
-
Travel0 Auth0テナントは、ユーザーのパスワード認証情報を取得するために
/signup/invitationにリダイレクトします。- Branding で説明されているように、組織ごとのブランド要素を表示するように設定された Universal Login Page が表示されます。
- ユーザーはパスワード (およびユーザー名などの追加認証情報) を入力し、[続行] をクリックします。ユーザー ID にはそのユーザーに紐付けられたメールアドレスが設定されており、変更できません。
-
Travel0 Auth0テナントが認証情報を確認します。有効であれば、ユーザーがプロビジョニングされ、Auth0 Organization Membership が設定されます。ユーザーは暗黙的に認証され、Rules パイプラインが実行されます。Authorization で説明されているように、Rules はアクセス制御の処理に使用できます。
- ユーザーの認証情報が無効な場合は、再入力を求められます。
-
認証情報の確認と Rules の実行が正常に完了すると、ユーザーはステップ 3 で渡された
stateとcodeを伴って、redirect_uri(https://hoekstra.corp.travel0.net/login/callback) にリダイレクトされます。 -
Hoekstra & Associates の Travel0 Corporate Booking インスタンスは
stateを検証した後、https://auth.travel0.net/oauth/tokenの Travel0 Auth0 テナントを呼び出し、code、client id、およびclient secretを渡して ID Token を取得します。続いて、その ID トークンを使用してhttps://hoekstra.corp.travel0.netのセッションを生成します。 - Hoekstra & Associates の Travel0 Corporate Booking インスタンスは、ユーザーに適切なページを表示します。
エンタープライズ接続

-
MetaHexa Bank の Amintha は、MetaHexa Bank 向けの Travel0 Corporate Booking インスタンスの代理で、Travel0 の Auth0テナントから送信されたメールを受け取ります。
- このメールは Invite Organization Members で説明されている方法で送信されており、Auth0 Dashboard または Auth0 Management API のいずれかによってトリガーされた可能性があります。
-
Amintha はメールを開き、その中のリンクをクリックします。すると、ブラウザーは MetaHexa Bank 向けの Travel0 Corporate Booking インスタンスに移動します。リンクで使用されるベース URL は Application Login URI として指定されており、Travel0 の Auth0テナントにある MetaHexa Bank 向け Travel0 Corporate Booking アプリケーション定義の一部を構成します。
- リンクには
organizationおよびorganization_nameパラメーターが含まれます。organizationパラメーターには、Auth0テナント内の対応する Auth0 Organization 定義の ID が設定されています。これはステップ 3 の一部として Auth0テナントに転送されます。 - リンクには
invitationパラメーターも含まれており、これもステップ 3 の一部として転送されます。
- リンクには
-
MetaHexa Bank 向けの Travel0 Corporate Booking インスタンスは、通常 Auth0 SDK またはサードパーティのライブラリを使用して
/authorizeエンドポイントを呼び出し、次のようなパラメーターを渡すことで、Authorization Code Flow (PKCE あり/なし) を使って Travel0 の Auth0テナントにリダイレクトします。redirect_uri:https://metahexa.corp.travel0.net/login/callbackresponse_type:codestate: このセッションで生成された一意の statescope:openid profile…- ユーザーについて必要な情報に応じて、必要な追加の OIDC Scopes
client_id: MetaHexa Bank 向け Travel0 Corporate Booking インスタンス用に Travel0 の Auth0テナントで作成された アプリケーション に関連付けられた Client ID。organization: 通常はステップ 2 で説明したメール内のリンクから取得する、招待元 organization の ID。organization=organization_id の形式で指定し、organization_id には Auth0テナント内の対応する Auth0 Organization 定義に関連付けられた識別子を設定します。invitation: ステップ 2 で説明したとおり、メール内のリンクに関連付けられた追加のinvitationパラメーター。
-
Travel0 の Auth0テナントは
/invitationにリダイレクトし、そこで Amintha に、まず第 1 要素の認証情報を認証するため MetaHexa IdP にリダイレクトされることが通知されます。- ユーザーが確認すると、
- Auth0 は MetaHexa Bank の IdP インスタンスにリダイレクトし、
- ログインページが表示され、ユーザーは認証情報を入力して
loginをクリックします。
- 成功すると、Auth0 Organization メンバーシップ が設定され、ユーザーは暗黙的に認証され、Rules パイプラインが実行されます。Rules は、Authorization で説明されているように、アクセス制御の処理に使用できます。
metahexa.corp.travel0.net) が使用されます。
ソーシャル接続経由の招待は、エンタープライズ接続 の場合と同様のパターンに従いますが、上流の IdP は特定の組織ではなく、ソーシャルプロバイダーに関連付けられます。ソーシャル接続の使用に関するその他の考慮事項については、Authentication を参照してください。