Регистрация Laravel без пароля

Я новичок в Laravel и не разобрался во всех деталях того, как это работает, хотя мне нужна помощь в реализации рабочего процесса аутентификации, в котором пользователь может зарегистрироваться без установки пароля. После того, как пользователь нажмет, чтобы подтвердить свою электронную почту, ему будет показана страница установки пароля, где он может ввести назначенный пароль для этой учетной записи.

В настоящее время я использую рабочий процесс аутентификации по умолчанию от Laravel, за исключением полей пароля, и установил промежуточное программное обеспечение, чтобы проверить, установлен ли пароль, и если нет, перенаправить на страницу установки пароля. Вместо этого он перенаправляет меня на страницу входа.

Я не могу найти никакой помощи или статей, касающихся этого рабочего процесса, если кто-нибудь может помочь или предоставить перенаправления, которые были бы очень признательны.


person Albert Nassif    schedule 06.11.2019    source источник
comment
Пожалуйста, опубликуйте текущий код из RegisterController и вашего промежуточного программного обеспечения. Сообществу будет легче помочь вам.   -  person Lucien Dubois    schedule 06.11.2019


Ответы (1)


Вы все еще можете использовать логин аутентификации по умолчанию для laravel, вам нужно только немного его настроить.

Добавьте поле is_active в таблицу Users, а затем поместите это в таблицу LoginController:

protected function credentials(Request $request)
{        
   return ['email' => $request->email, 'password' => $request->password, 'is_active' => 1];
}

Что случится:

После регистрации пользователь не может войти в систему из-за добавленного выше условия --> поле is_active.

После регистрации отправьте письмо со ссылкой. После того, как пользователь щелкнет ссылку в этом письме, обновите поле пользователя is_active, чтобы он мог войти в систему.

Это может быть не совсем то, что вы хотите, но это достигается той же логикой. Пользователь выбрал свой собственный пароль и подтвердил свою электронную почту.

person kapitan    schedule 07.11.2019