public function renew($email, $token, ResetPasswordRequest $resetPasswordRequest, UserRepositoryInterface $userRepository, TokenRepositoryInterface $tokenRepository) { $input = $resetPasswordRequest->all(); $user = $userRepository->findByEmail($email); if (!$user) { return $this->sendUnauthorized('Email not found.'); } if (!$tokenRepository->exists($user, $token)) { return $this->sendUnauthorized('Invalid token.'); } $user = $userRepository->changePassword($user, $input['password']); $tokenRepository->delete($token); return $this->sendSuccess([], 'Successfully reset your password. Now try logging in.'); }
/** * Function Store * to Save/Update Brand From Brand Form * @Request @Name,@Code etc * * @return json */ public function onResetPassword(\App\Http\Requests\ResetPasswordRequest $request) { $user = new \App\Models\User(); $user = $user->where('id', $request->get('id'))->first(); $user->updated_at = date('Y-m-d H:i:s'); $user->updated_by = Auth::user()->id; $user->password = bcrypt($request->get('password')); $user->save(); $param['message'] = $request->get('id') ? Lang::get('info.updated') : Lang::get('info.inserted'); $param['error'] = false; return json_encode($param); }
/** * @param ResetPasswordRequest $request * @return \Illuminate\Http\RedirectResponse */ public function postResetPassword(ResetPasswordRequest $request) { $code = $request->input('code'); $validator = Validator::make(['code' => $code], ['code' => 'alpha_num']); if ($validator->fails()) { abort(404); } //Find the user using the reset_token code and //only if the expiration date is lower than the new date $user = User::findBy(['resetPassword.reset_token' => $code, 'resetPassword.expiresAt' => ['$gt' => new \MongoDate(time())]]); if (!$user) { abort(404); } // Save new password & remove reset password token $user->password = Hash::make($request->input('password')); $user->resetPassword = null; $user->save(); Session::flash('notify', ['type' => 'success', 'text' => 'Tu password se ha cambiado exitosamente']); return redirect()->route('login'); }