現状の課題

ユーザー新規登録時に、email認証せずに登録が完了してしまう。

理想

  1. ユーザー仮登録
  2. メールアドレス認証
  3. ログイン処理
    の流れでユーザーを登録できるようにしたい。

ユースケース

  1. ログイン画面 /login でSign upのリンクを押す
  2. フォームに User ID / Name / Email / Password を入力する
  3. Sign up ボタンを押す
    -> 仮登録完了
  4. 入力したEmail に 認証URL付きのメールが届く
  5. ユーザーが認証URLをクリックする
  6. 認証が成功し、「本登録完了」ページへリダイレクトされる
    -> 本登録完了
  7. ログイン画面にて、ユーザーが指定した1. 「user name or email」と2. 「password」を入力しログインできる

仮登録時のDataの保存場所

  • 新規にモデルuser-registration-orderを作成し、そこに保存させる

本登録完了時

  • user-registration-orderに保存されたレコードがuser collectionに保存される。

    • その時のstatusはactive
  • 仮登録で生成されて本登録までいかなかったorderの処置

    • 放置される。

セキュリティ関連

ID/Password の認証機構設定

セキュリティ設定内の ID/Password の認証機構設定にて登録の制限を「制限」にしている場合、新規登録後のユーザーは、管理者によるアカウントの承認が行われるまでApproval Pending(STATUS_REGISTERED)の状態になります。

「制限」していない場合のユーザーステータス

  1. ユーザー仮登録時: STATUS_TEMPORALY
  2. 本登録完了時: active(STATUS_ACTIVE)
  3. ログイン

「制限」している場合のユーザーステータス

  1. ユーザー仮登録時: STATUS_TEMPORALY
  2. 本登録完了時: Approval Pending(STATUS_REGISTERED)
  3. 管理者によるアカウントの承認完了時: active(STATUS_ACTIVE)
  4. ログイン

参考