Сначала нам нужно изменить RedirectIfAuthenticated и поместить в сеанс намеченный URL.
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if(session()->get("url.intended")){
session()->put("redirect_after_email_verification", session()->get("url.intended"));
}
if (Auth::guard($guard)->check()) {
return redirect('/admin');
}
return $next($request);
}
}
Затем добавить следующий код в VerificationController , чтобы проверить ранее добавленный URL в сеансе,Если этот URL-адрес существует в сеансе, мы перенаправим пользователя на этот URL-адрес после подтверждения электронной почты.
public function show(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('auth.verify');
}
protected function redirectTo(){
if(session()->get("redirect_after_email_verification")){
return session()->get("redirect_after_email_verification");
}
return $this->redirectTo;
}