middleware('guest')->except('logout'); } public function showLoginForm() { $data['url'] = route('Shop.login.post'); return view('Shop.auth.login', $data); } protected function guard() { return Auth::guard('guest'); } public function login(Request $request) { $this->validate($request, [ 'username' => 'required|email', 'password' => 'required|min:8' ]); if (Auth::guard('guest')->attempt(['username' => $request->username, 'password' => $request->password], $request->get('remember'))) { return redirect()->intended(route('home')); } return back()->withInput($request->only('username', 'remember')); } public function logout(Request $request) { $sessionKey = $this->guard()->getName(); $this->guard()->logout(); $request->session()->forget($sessionKey); return redirect()->route('home'); } public function username() { return 'email'; } }