メインコンテンツへスキップ

利用可否は Auth0 プランによって異なります

この機能を利用できるかどうかは、ご利用のログイン実装と、Auth0 プランまたはカスタム契約の両方によって決まります。詳しくは、Pricingを参照してください。
組織にメンバーを追加したいものの、ユーザーがまだデータストアに存在しない場合 (またはデータストアには存在していても、まだ組織のメンバーではない場合) は、そのユーザーを組織に招待できます。この場合、ユーザーには、アカウントを作成するかログインして組織に参加するためのリンクを含むメールが送信されます。必要に応じて事前定義されたロールを付与することもでき、さらにアプリケーションにリダイレクトされるため、すぐに利用を開始できます。
組織メンバーのロールは、Auth0 のロールベースアクセス制御でユーザーに割り当てるロールとは別のものです。組織への招待を承諾したユーザーに事前定義されたロールを適用した場合、そのロールは、ユーザーがその組織経由でログインしているときにのみ有効です。Dashboard では、組織メンバーのロールを確認できます。
招待フローを設定するには、次の手順を実行します。
  1. メンバーシップ招待フローをアプリケーションに統合する
  2. ユーザー招待フローをカスタマイズする
  3. メンバーシップ招待を送信する
制限事項
  • Auth0 で送信できるユーザー招待は、メール経由のみです。別の方法で招待を送信したい場合は、招待 URL のみを生成することもできます。
  • 招待されたユーザーは、招待の送信先メールアドレスでログインするか、アカウントを作成する必要があります。

メンバーシップ招待フローをアプリケーションに統合する

ユーザー招待を機能させるには、招待受諾フローの一部としてアプリケーションにルートを設定し、テナントまたはアプリケーションの関連するデフォルトのログインルートを設定する必要があります。設定した URI へのリンクは、ユーザーに送信される招待メールに含まれます。

URI を設定する

この URI をすべてのアプリケーションで共通して使用する場合は、Auth0 Dashboard > Settings > AdvancedTenant Login URL を設定できます。そうでない場合は、Auth0 Dashboard > Applications > Applications から開ける各アプリケーションの設定で Application Login URI を使用して、アプリケーションごとに URI を設定できます。

ルートの動作を指定する

アプリケーション内のルートでは、クエリ文字列内の invitation パラメーターと organization パラメーターを受け取り、その後、両方のパラメーターを指定して Auth0 Authentication API の 認可 エンドポイントを呼び出す必要があります。
アプリケーションで組織名をサブドメインまたはパス変数として使用するマルチテナントシナリオ (たとえば acme.myapp.com) をサポートするため、ユーザーに送信される招待リンクには organization_name パラメーターも含まれます。このパラメーターを Authentication API の 認可 エンドポイントに送信する必要はありません。
たとえば、Application Login URIhttps://myapp.com/login に設定された組織対応アプリケーションがある場合、エンドユーザーに送信される招待メール内のリンクは次のようになります: https://myapp.com/login?invitation={invitation_ticket_id}&organization={organization_id}&organization_name={organization_name}

ユーザー招待フローをカスタマイズする

ユーザー招待フローをカスタマイズするには、カスタムドメインを使用する必要があります。無料プランでは 1 つのカスタムドメインを無料で利用できます。追加のカスタムドメインは、いずれの有料プランでも利用できます。
ユーザー招待時のプロンプトと、ユーザーが受け取るメールをカスタマイズするには、 のプロンプトとメールテンプレートを変更します。詳細については、次のページを参照してください。

ローカライズ

招待されたユーザーのロケールは事前にはわからないため、 を使用して、招待エンドポイントにオプションの user_metadata パラメーターを送信できます。ユーザー招待フローをローカライズする場合は、User Invitation メールテンプレートからこのパラメーターにアクセスし、他の多言語メールテンプレートと同じロジックを使用できます 招待されたユーザーに適切な言語で招待を表示するには、アプリケーションから ui_locales パラメーターを送信するか、招待されたユーザーのブラウザーから適切な Accept-Language ヘッダーが送信される必要があります。詳しくは、メールテンプレートのカスタマイズ: 多言語メールテンプレートを参照してください。

メンバーシップ招待を送信する

ユーザーへの組織メンバーシップ招待の送信には、 または Management API を使用できます。独自のメールサービスを使用して招待を送信する場合は、招待 URL のみを生成することもできます。それ以外の場合、ユーザーにはリンクを含むメールが送信され、そのリンクを使用して設定済みの接続経由で組織にログインできます。
ユーザーが招待を承諾すると、そのメールアドレスは確認済みとしてマークされます。ユーザーがフェデレーションログイン経由で招待を承諾する場合、IDプロバイダーは招待の送信先メールアドレスと一致するメールアドレスを返す必要があります。以後のログインでは、メールアドレス確認が IDプロバイダー から返された値で上書きされることはありません。ユーザーが有効期限までに招待を承諾しなかった場合、その招待は期限切れとしてマークされ、最終的にAuth0 Dashboardから削除されます。