middleware('guest')->except('logout'); } public function showLoginForm() { if(config('pixelfed.bouncer.cloud_ips.ban_logins')) { abort_if(BouncerService::checkIp(request()->ip()), 404); } return view('auth.login'); } /** * Validate the user login request. * * @param \Illuminate\Http\Request $request * * @return void */ public function validateLogin($request) { if(config('pixelfed.bouncer.cloud_ips.ban_logins')) { abort_if(BouncerService::checkIp($request->ip()), 404); } $rules = [ $this->username() => 'required|email', 'password' => 'required|string|min:6', ]; if(config('captcha.enabled')) { $rules['h-captcha-response'] = 'required|captcha'; } $this->validate($request, $rules); } /** * The user has been authenticated. * * @param \Illuminate\Http\Request $request * @param mixed $user * * @return mixed */ protected function authenticated($request, $user) { if($user->status == 'deleted') { return; } $log = new AccountLog(); $log->user_id = $user->id; $log->item_id = $user->id; $log->item_type = 'App\User'; $log->action = 'auth.login'; $log->message = 'Account Login'; $log->link = null; $log->ip_address = $request->ip(); $log->user_agent = $request->userAgent(); $log->save(); } }