middleware('guest')->except('logout'); } public function showLoginForm() { return view('auth.login'); } public function login(Request $request) { $this->validateLogin($request); if ($this->hasTooManyLoginAttempts($request)) { $this->fireLockoutEvent($request); return $this->sendLockoutResponse($request); } if ($this->attemptLogin($request)) { return $this->sendLoginResponse($request); } $this->incrementLoginAttempts($request); return $this->sendFailedLoginResponse($request); } protected function validateLogin(Request $request) { $this->validate($request, [ $this->username() => 'required|string', 'password' => 'required|string', ]); } protected function attemptLogin(Request $request) { return $this->guard()->attempt( $this->credentials($request), $request->filled('remember') ); } protected function credentials(Request $request) { return $request->only($this->username(), 'password'); } protected function sendLoginResponse(Request $request) { $request->session()->regenerate(); $this->clearLoginAttempts($request); // $request->session()->put(['user_status'=> 'user logged in!']); return $this->authenticated($request, $this->guard()->user()) ?: redirect()->intended($this->redirectTo); } protected function authenticated(Request $request, $user) { // } protected function sendFailedLoginResponse(Request $request) { $errors = [$this->username() => trans('auth.failed')]; if ($request->expectsJson()) { return response()->json($errors, 422); } return redirect()->back() ->withInput($request->only($this->username(), 'remember')) ->withErrors($errors); } public function username() { return 'cell_number'; } public function logout(Request $request) { $this->guard()->logout(); $request->session()->invalidate(); return redirect('/'); } protected function guard() { return Auth::guard(); } }