/**
  * 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;
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 /**
  * 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);
 }
Exemplo n.º 4
0
 /**
  * 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)]);
     }
 }
Exemplo n.º 5
0
 /**
  * @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')]));
     }
 }
Exemplo n.º 6
0
 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('/');
     }
 }
Exemplo n.º 10
0
 /**
  * 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)]);
     }
 }
Exemplo n.º 11
0
 /**
  * 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']]);
     }
 }
Exemplo n.º 13
0
 /**
  * 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)]);
     }
 }
Exemplo n.º 14
0
 /**
  * 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)]);
     }
 }
Exemplo n.º 15
0
 /**
  * @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));
     });
 }