token || !Request::has('email')) { return abort(404); } // Validate token if (!Password::tokenExists(User::where('email', $this->email)->firstOrFail(), $this->token)) { return abort(404); } } public function submit() { $this->validate(); $this->captcha(); $status = Password::reset( ['email' => $this->email, 'password' => $this->password, 'password_confirmation' => $this->password_confirmation, 'token' => $this->token], function ($user) { $user->forceFill([ 'password' => Hash::make($this->password), ])->setRememberToken(Str::random(60)); $user->save(); event(new PasswordReset($user)); } ); return $status === Password::PASSWORD_RESET ? $this->redirect(route('login')) : $this->notify($status, 'error'); } public function render() { return view('auth.password.reset'); } }