公開登録なし & 招待制のみ
特定の状況では、アプリケーションのユーザー登録を制限したい場合があります。Logto では、匿名ユーザー登録を無効にし、管理者から招待されたユーザーのみがサインインできるように制限できます。
ユーザー登録の無効化
エンドユーザー登録を無効にするには、次の手順に従ってください:
-
コンソール > サインイン体験 > サインアップとサインイン
ページに移動します。 - 詳細オプション セクションで、ユーザー登録を有効にする スイッチをオフにしてユーザー登録を無効にします。(デフォルトでは有効)
ユーザー登録を無効にすると:
- サインインページから「アカウント作成」リンクが削除されます。
- サインアップページが無効になり、アクセスしたユーザーはサインインページにリダイレクトされます。
- ソーシャルおよびエンタープライズ SSO のサインアップフローも無効になります。未登録のソーシャルアカウントを持つユーザーは、ソーシャル認証後に「アカウントが見つかりません」エラーを受け取ります。
- システム内に一致するメールアドレスまたは電話番号アカウントがあるユーザーについては、ソーシャルリンクアカウント機能は引き続き利用可能です。
招待制のみのサインアップフローの実装
Logto には組み込みの招待フローはありませんが、Logto の users Management API を利用することで、簡単に招待制のみのサインアップフローを実装できます。
オプション 1: マジックリンクでユーザーを招待(推奨)
-
コンソール > サインイン体験 でユーザー登録を無効にします。
-
コンソール > サインイン体験 に移動し、「ユーザー登録を有効にする」をオフにして公開登録を閉じます。
-
招待したいユーザーのメールアドレスを収集します(例:ウェブサイトや既存ユーザーからの推薦など)。
-
マジック招待リンク を ガイドに従って 作成・送信します(ワンタイムトークンのリクエスト、マジックリンクの作成、Logto SDK で認証をトリガー)。
注意:招待リンクの有効期限を設定してください。リンクは最低 1 日有効にすることを推奨します。ワンタイムトークンを生成するには、以下のリクエストボディを使用します:{
"email": "[email protected]",
"expiresIn": 172800 // オプション。デフォルトは 600(10 分)
} -
マジックリンクをユーザーのメールに送信します(例:
https://yourapp.com/landing-page?type=registrationInvitation&token=YHwbXSXxQfL02IoxFqr1hGvkB13uTqcd&[email protected]
)。メールテンプレートはカスタマイズ可能です。例:ユーザーが「招待を受け入れる」をクリックすると、公開登録が無効でも自動的にサービスに登録されます。これを「ターゲットユーザー招待」と呼びます。
オプション 2: Management API でユーザーを招待・作成
- コンソール > サインイン体験 でユーザー登録を無効にします。
- アプリケーション内にカスタムの招待ベースユーザー登録フォームを作成します。
- ユーザーに一意の招待リンク付きの招待メールを送信します。
- ユーザーが登録リンクをクリックした際、Logto Management API > Create user を呼び出してユーザーアカウントを作成します。
- ユーザーアカウント作成後、Logto のサインインまたはパスワードリセットページにリダイレクトして登録を完了させます。サインインプロセスをスムーズにするため、最初の画面やユーザーのメールアドレスの事前入力方法については 認証パラメーター を参照してください。
オプション 3: 手動登録時にユーザーへ通知
- Logto コンソールでユーザー登録を無効にします。
- コンソール > ユーザー管理 または Management API でユーザーアカウントを手動作成します。
- アカウント作成をメールでユーザーに通知します。
- ユーザーを Logto のサインインまたはパスワードリセットページにリダイレクトして登録を完了させます。サインインプロセスをスムーズにするため、最初の画面やユーザーのメールアドレスの事前入力方法については 認証パラメーター を参照してください。
事前登録アカウントのユーザー体験
事前登録アカウント(プロビジョニングユーザーとも呼ばれます)。オプション 2 およびオプション 3 では、ユーザーアカウントが Management API を通じて事前に作成されます。エンドユーザーは、その後初めて製品にサインインします。
ユーザー登録が無効な場合、サインアップページにアクセスしたユーザーはサインインページにリダイレクトされます。管理者または Management API(オプション 2 または 3)でユーザーアカウントが作成されている場合、設定したサインイン・サインアップ方法によってユーザーのサインイン体験が異なります:
- 認証コードによるメールアドレスまたは電話番号でのサインイン:メールアドレス または 電話番号 でユーザーアカウントを作成します。メールまたは電話番号認証コードサインイン方法を有効にします。ユーザー作成後、認証コード方式で直接サインインできます。
- 特定のメールアドレスまたは電話番号によるソーシャルサインイン:ソーシャルアカウントに紐づく メールアドレス または 電話番号 でユーザーアカウントを作成します。特定のソーシャルプロバイダーのソーシャル接続を作成・有効化します。自動アカウント連携 機能を有効にし、メールアドレスまたは電話番号が一致する場合にソーシャルアイデンティティとユーザーアカウントを自動的に連携します。ユーザー作成後、該当するソーシャルアカウントで直接サインインできます。
- ユーザー名 / メールアドレス / 電話番号 + パスワード:ユーザー名、メールアドレス、または 電話番号 でユーザーアカウントを作成し、パスワードベースのサインイン用識別子を有効にします。
- 事前設定パスワードあり:アカウント作成時にパスワードを設定し、安全にユーザーへ共有します。ユーザーはユーザー名・メールアドレス・電話番号と事前設定パスワードで直接サインインでき、必要に応じてパスワードをリセットできます。
- 事前設定パスワードなし:パスワードなしでアカウントを作成し、アカウント有効化時にユーザーへパスワード設定を促します。(パスワードリセットフローには メールアドレス または 電話番号 が必要です。)ユーザー作成後、メールアドレスまたは電話番号を事前入力した状態でパスワードリセットページにリダイレクトします。詳細は 認証パラメーター を参照してください。ユーザーが新しいパスワードを設定すると、ユーザー名・メールアドレス・電話番号と新しいパスワードで直接サインインできます。