Laravel 6 письмо с подтверждением регистрации пропущено - PullRequest
0 голосов
/ 03 марта 2020

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

Поэтому я следую за документами по https://laravel.com/docs/6.x/verification для Laravel 6 Я также посмотрел в Интернете некоторые более подробные инструкции и обнаружил следующее: https://www.itsolutionstuff.com/post/laravel-6-email-verification-tutorialexample.html

Я установил Sendemail, как указано здесь https://tecadmin.net/install-sendmail-on-ubuntu/ Я не уверен, что это работает - но чтобы получить Laravel показать мне страницу с «проверьте свою электронную почту для подтверждения» - я не думаю, что мне это нужно?

Есть ли шаг, который я пропускаю и не описано в документах?

1 Ответ

0 голосов
/ 03 марта 2020

Хорошо, так что документы не очень понятны - вот что нужно сделать

После регистрации - перенаправить на страницу, где мы говорим пользователям, что они должны проверить электронную почту и подтвердить

в Auth/RegisterController добавить эту функцию

protected function redirectTo() {
    return route('verificationSent');
}

в сети. php добавить новый маршрут

Route::get('/verification-sent', 'IndexController@verificationSent')->name('verificationSent');

в IndexController добавить функцию, которая обрабатывает новая страница

public function verificationSent() {
    return view('auth.verify');
}

Если вы хотите - вы можете добавить ту же функциональность для целевой страницы, когда пользователь щелкнул ссылку в письме и подтвердил регистрацию - просто добавьте функцию redirectTo в VerificationController на этот раз, затем новый маршрут и c.

Как отключить вход пользователя в систему в реестре

добавить эту функцию в RegisterController

/**
 * Overwrite the function from the RegisterUser trait
 * 
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    //DISABLE LOGIN
    //$this->guard()->login($user);

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...