マルチテナントアプリを構築しています。ユーザーがアカウントを作成するとき、電子メールとパスワードを入力する必要があります。サインインすると、そのユーザー (「管理者」) は自分のアカウントにユーザーを追加できます。ユーザーを簡単に追加できるようにしたいと考えています。必要なのはメール アドレスだけです。ユーザーを追加する場合、次のプロセスは安全ですか?
- 管理者はユーザーの追加フォームに移動します
- 管理者がユーザーのメール アドレスを入力し、[送信] をクリックします
- メール + 一意の registration_key + registration_expiration が Users モデルに入力されます
- 新しいユーザーには、登録へのリンクが記載されたメールが送信されます (例: http://account.myapp.com/registration/o4iwerl23msl424keree )
- 新しいユーザーが登録フォームを開き、必要なパスワード + password_confirm フィールドを入力します
- URL の registration_key が DB のものと一致し、登録の有効期限が切れる前であれば、ユーザーは登録できます。
代替案をお勧めしますか?これが安全な場合、このプロセスのステップ 2 と 3 で必要な password + password_confirmation フィールドを回避するにはどうすればよいですか?