/** * Ustawienie nowego hasla i ponowne logowanie uzytkownika * * @param Request $request * @return $this|\Illuminate\Http\RedirectResponse */ public function postReset(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required|confirmed|min:3']); $credentials = $request->only('email', 'password', 'password_confirmation', 'token'); // walidacja poprawnosci hasla. jedyne wymaganie to posiadanie hasla max 3 znakowego Password::validator(function (array $credentials) { return true; }); $response = Password::reset($credentials, function ($user, $password) { $user->password = bcrypt($password); $user->save(); Auth::login($user); }); switch ($response) { case Password::PASSWORD_RESET: return redirect(route('home'))->with('success', 'Hasło zostało prawidłowo ustawione'); default: $errors = [Password::INVALID_USER => 'Podany adres e-mail nie jest przypisany do żadnego konta', Password::INVALID_TOKEN => 'URL jest nieprawidłowy. Być może ten link nie jest już aktywny?']; return redirect()->back()->withInput($request->only('email'))->withErrors(['email' => $errors[$response]]); } }