/** * Execute the job. * * @param PasswordBroker $broker * @param User $user * @return bool */ public function handle(PasswordBroker $broker, User $user) { $field = filter_var($this->request->get('credential'), FILTER_VALIDATE_EMAIL) ? 'email' : 'username'; $userObj = $user->where($field, $this->request->get('credential'))->first(); if ($userObj) { $response = $broker->sendResetLink(['email' => $userObj->email], function (Message $message) { $message->from('*****@*****.**'); $message->subject('Your Password Reset Link'); }); return $response === $broker::RESET_LINK_SENT; } return false; }
public function resetPassword($credentials) { $response = $this->passwordBroker->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: return true; default: return $response; } }
/** * Reset the password. * * @param \Orchestra\Contracts\Auth\Listener\PasswordReset $listener * @param array $input * * @return mixed */ public function update(PasswordReset $listener, array $input) { $response = $this->password->reset($input, function (Eloquent $user, $password) { // Save the new password and login the user. $user->setAttribute('password', $password); $user->save(); Auth::login($user); }); $errors = [Password::INVALID_PASSWORD, Password::INVALID_TOKEN, Password::INVALID_USER]; if (in_array($response, $errors)) { return $listener->passwordResetHasFailed($response); } return $listener->passwordHasReset($response); }
/** * Reset the given user's password. * * @param ResetPasswordRequest $request * @return Response */ public function postReset(Requests\Auth\ResetPasswordRequest $request) { $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: return $this->loginAndRedirect($request->email); default: return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => trans($response)]); } }
/** * @return boolean * * @throws ValidationException * @throws NotFoundHttpException * @throws TokenNotValidException * @throws \UnexpectedValueException */ public function resetPassword() { $validator = \Validator::make($this->request->all(), ['token' => 'required', 'email' => 'required|email|max:255', 'password' => 'required|confirmed|min:' . \Config::get('auth.password.min_length')]); if ($validator->fails()) { throw new ValidationException($validator); } $credentials = $this->request->only('email', 'password', 'password_confirmation', 'token'); $attemptReset = $this->passwords->reset($credentials, function ($user, $password) { /** * @var \App\Models\User $user */ $user->password = \Hash::make($password); $user->save() && \Event::fire(new ResetPassword($user)); }); switch ($attemptReset) { case PasswordBroker::PASSWORD_RESET: return true; case PasswordBroker::INVALID_USER: throw new UserNotFoundException(); case PasswordBroker::INVALID_TOKEN: throw new TokenNotValidException(); default: throw new \UnexpectedValueException(trans($attemptReset, ['min_length' => \Config::get('auth.password.min_length')])); } }
public function resetPassword(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { // Email confirmed, we may activate account if user didn't that yet if ($user->activation_token) { $cacheKey = 'registration.' . md5($request->getClientIp()); if (Cache::has($cacheKey)) { return App::abort(500); } $user->unset('activation_token'); $user->is_activated = true; } $user->password = bcrypt($password); $user->save(); $this->auth->login($user); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: return redirect('/'); default: return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => trans($response)]); } }
/** * Reset the given user's password. * * @param Request $request * @return Response */ public function postReset(Request $request) { $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); }); switch ($response) { case PasswordBroker::INVALID_PASSWORD: case PasswordBroker::INVALID_TOKEN: case PasswordBroker::INVALID_USER: return redirect()->back()->withErrors(['email' => trans($response)]); case PasswordBroker::PASSWORD_RESET: return redirect()->to('/'); } }
/** * Handle a POST request to reset a user's password. * * @param Request $request * @param UserRepository $repository * * @return Response */ public function postReset(ResetRequest $request, UserRepository $repository) { // Capture the credentials from postback. // $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); // Fetch the user account by the email address. // $user = $repository->findByEmail($request->get('email')); // Reset the user's account and prepare our response. // $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = $password; $user->save(); }); switch ($response) { case PasswordBroker::INVALID_PASSWORD: case PasswordBroker::INVALID_TOKEN: case PasswordBroker::INVALID_USER: // Flash an error message to the user. // Flash::error(trans($response)); // Redirect the user back to the page and re-populate the // form with what they had submitted. // return redirect()->back()->withInput(); case PasswordBroker::PASSWORD_RESET: // Redirect the user back to the homepage. // return redirect()->to('/'); } }
/** * Handle a POST request to reset a user's password. * * @param Request $request * @return Response */ public function postReset(Request $request) { $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = $password; $user->save(); }); switch ($response) { case PasswordBroker::INVALID_PASSWORD: case PasswordBroker::INVALID_TOKEN: case PasswordBroker::INVALID_USER: Flash::error(trans($response)); return redirect()->back(); case PasswordBroker::PASSWORD_RESET: Flash::success('Your password has been reset, you may now login'); return redirect()->to('/'); } }
/** * Send a reset link to the given user. * * @param Request $request * @return Response */ public function postEmail(Request $request) { $this->validate($request, ['email' => 'required|email', 'captcha' => 'required|captcha']); $response = $this->passwords->sendResetLink($request->only('email'), function ($m) { $m->subject(trans($this->subject, ['site' => env('SITE_NAME')])); }); switch ($response) { case PasswordBroker::RESET_LINK_SENT: return redirect()->back()->with('status', trans($response)); case PasswordBroker::INVALID_USER: return redirect()->back()->withErrors(['email' => trans($response)]); } }
/** * Reset the given user's password. * * @param Request $request * @return Response */ public function postReset(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required', 'password' => 'required|confirmed']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); $this->auth->login($user); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: return redirect($this->redirectPath()); default: return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => trans($response)]); } }
/** * Reset the given user's password. * * @param Request $request * @return Response */ public function postPassword(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $this->handler->update($user); $this->auth->login($user); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: return redirect('/')->with('status', $response); default: // password configuration $passwordConfig = app('config')->get('xe.member.password'); $passwordLevel = array_get($passwordConfig['levels'], $passwordConfig['default']); return redirect()->back()->withInput($request->only('email'))->with('alert', ['type' => 'danger', 'message' => $passwordLevel['description']]); } }
/** * Reset the given user's password. * * @param Request $request * * @return Response */ public function postReset(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); if ($user->activated != 1) { return $this->respondNotActivated($user->code); } $this->auth->login($user); }); switch ($response) { case PasswordBroker::PASSWORD_RESET: flash(trans('auth.successReset')); return redirect(route('home')); //return redirect(trans($response)); //return redirect(trans($response)); default: return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => trans($response)]); } }
/** * Reset the given user's password. * * @param Request $request * * @return Response */ public function postReset(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required', 'password' => 'required|confirmed|min:8']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); $response = $this->passwords->reset($credentials, function ($user, $password) { $user->password = $password; $user->save(); $this->auth->login($user); }); if ($this->auth->user()->cannot('login')) { $this->auth->logout(); flash('Uw wachtwoord werd gewijzigd, maar uw account is nog niet actief.'); redirect()->back('/nl/auth/login'); } switch ($response) { case PasswordBroker::PASSWORD_RESET: flash()->message(trans('auth.passwordChanged')); return redirect($this->auth->user()->getHomeUrl()); default: flash()->error(trans('auth.correctFormErrors')); return redirect()->back()->withInput($request->only('password'))->withErrors(['email' => trans($response)]); } }
/** * @param \App\Events\UserWasCreated $event */ public function handle(UserWasCreated $event) { $this->passwords->sendResetLink(['email' => $event->user->email], function ($message) use($event) { $message->subject(trans('passwords.subjectEmailNewUser', [], $event->user->locale)); }); }