Skip to main content

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

この機能を利用できるかどうかは、ログイン実装の内容と、Auth0のプランまたはカスタム契約の両方によって決まります。詳しくは、Pricingをご覧ください。
組織にメンバーを割り当てたいものの、そのユーザーがまだデータストアに存在しない場合 (またはデータストアには存在していても、まだその組織のメンバーではない場合) は、そのユーザーを組織に招待できます。この場合、ユーザーにはリンク付きのメールが送信されます。ユーザーはそのリンクからアカウントを作成するかログインして組織に参加でき、必要に応じて事前定義されたロールも付与されます。また、アプリケーションにリダイレクトされるため、すぐに利用を開始できます。
組織 のメンバーロールは、Auth0のロールベースのアクセス制御を通じてユーザーに割り当てられるロールとは別です。事前定義されたロールが組織への招待を承諾したユーザーに適用された場合、そのロールは、ユーザーがその組織経由でログインしているときにのみ有効です。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 の Authorization エンドポイントを呼び出す必要があります。
アプリケーション内で organization名 をサブドメインまたはパス変数として使用するマルチテナントのシナリオ (たとえば acme.myapp.com) をサポートするため、ユーザーに送信される招待リンクには organization_name パラメーターも含まれます。このパラメーターを Authentication API の Authorization エンドポイントに送信する必要はありません。
たとえば、Application Login URIhttps://myapp.com/login に設定されている organization 対応のアプリケーションがある場合、エンドユーザーに送信されるメール招待内のリンクは次のようになります。https://myapp.com/login?invitation={invitation_ticket_id}&organization={organization_id}&organization_name={organization_name}

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

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

ローカライズ

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

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

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