#php #laravel
Вопрос:
TLDR; Я использую Valet и mailhog для тестирования электронной почты. Это всего лишь базовая форма регистрации. Пользователь не проходит проверку подлинности, даже если по пути регистрации он вошел в систему сразу после создания экземпляра пользователя.
В ПОСТ /регистровом контроллере
Auth::login($user= User::create([...])); <-- here we login the user right after the user created.
event(new Registered($user));
Затем, когда пользователь нажимает на проверочное электронное письмо, это произошло:
Route::get('email/verify/{id}/{hash}',function (EmailVerificationRequest $request) {
// user is not authenticated, thus redirected again to login route.
// this happened again and again when we click the link from email verification,
// even though we are "logged in" in the session
})->middleware(['auth','signed',...]);
Кто-нибудь может помочь с этим? Это версия Laravel: 8.32.1 и версия PHP: 8.0.0
Спасибо
Ответ №1:
Вы убедились, что он действительно создает пользователя, когда вы пытаетесь его аутентифицировать? Вы должны проверить наличие null перед попыткой входа в систему. Как только вы сможете убедиться, что запись была создана и сохранена, только после этого вы должны попытаться войти в систему.