コード例 #1
0
 /**
  * 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]]);
     }
 }