Skip to main content
ユーザーを Organization に招待する方法をお探しの場合は、代わりに Invite Organization Members をご覧ください。
Auth0 アプリケーションの登録を管理する方法の 1 つに、ユーザー招待があります。 一般的なユーザー招待のワークフローでは、アプリケーション管理者が新しいユーザーアカウントを作成し、その後、アクティベーションリンクを含む招待メールをユーザーに送信します。ユーザーはそのリンクからパスワードを設定し、その後ログインできるようになります。 ユーザー招待システムは、登録を制限したい場合や、アカウントをまとめて作成したい場合などのユースケースで役立ちます。

Auth0 でアプリケーション登録用のユーザー招待を実装する

Auth0 では、パスワード変更ワークフローを使用してユーザー招待を実装できます。
  • Universal Login または Classic Login のパスワードリセットページを、ユーザー招待にも対応できるようにスタイル設定することで、パスワード変更リンクを新規ユーザーアカウントへの招待として利用できます。
  • 同様に、パスワード変更メールテンプレートをカスタマイズすることで、Auth0 のパスワード変更ワークフローを使ってパスワード変更リンクを生成し、テナントの設定済み SMTP プロバイダーを使用して招待メールを送信できます。
すでに外部のメールソリューションがあり、テナントで SMTP プロバイダーを設定したくない場合は、Management API を使用してパスワード変更チケットを生成し、Auth0 のメールテンプレートやワークフローを使わずに、チケットのリンクを自分でユーザーにメール送信することもできます。
この実装では、ユーザーに未対応の招待があることを示すユーザーメタデータのプロパティ (この手順では user.app_metadata.needsInvitation という名前) を利用します。これが true の場合、ユーザーには招待用の画面が表示され、それ以外の場合は通常のパスワードリセット画面が表示されます。

1. パスワード変更メールテンプレートをカスタマイズする

まず、ユーザー招待とパスワード変更の両方のフローに対応できるように、パスワード変更 (リンク) メールテンプレートをカスタマイズします。 Liquid を使用して、未対応の招待に関するユーザーメタデータのプロパティが設定されているかどうかを確認し、適切なメッセージを送信します。たとえば、次のようになります。
さらに、メッセージ本文内のパスワードリセットリンクにクエリパラメータを追加して、パスワードリセットページでユーザーに表示する画面を指定します。たとえば、type=invitetype=reset を追加できます。

2. パスワードリセットページのスタイルを設定する

テンプレートで設定したクエリパラメータに基づいて、ユーザー招待とパスワード変更の両方のワークフローに対応できるよう、パスワードリセットページのスタイルを設定します。 Universal Login の手順については、Customize Universal Loginを参照してください。Classic Login の手順については、Customize Password Reset Pageを参照してください。

3. 招待プロパティを解除するための post-login Action を作成する

ユーザーがパスワードを設定して初回ログインを完了すると、招待は不要になるため、以後はパスワード変更のフローを表示する必要があります。 これに対応するには、user.app_metadata.needsInvitationfalse に設定する post-login Action を作成します:

4. ユーザー招待を送信する

ユーザー招待を送信するには、ダッシュボードで新しい Auth0 データベースユーザーを作成する か、Management API の Create a User endpoint を使用し、次のように設定します。
  • user.email_verified パラメーターを false に設定します。
  • user.app_metadata.needsInvitationtrue に設定します。
その後、Authentication API の Change password endpoint を呼び出して、ユーザーに招待メールを送信します。

詳細はこちら

ユーザーがパスワードを設定した後のリダイレクト先を制御するには、次のように設定します。 メール設定の詳細については、以下を参照してください。