<?php namespace App\Http\Controllers\Auth; use App\{AccountLog, User}; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticatesUsers; class LoginController extends Controller { /* |-------------------------------------------------------------------------- | Login Controller |-------------------------------------------------------------------------- | | This controller handles authenticating users for the application and | redirecting them to your home screen. The controller uses a trait | to conveniently provide its functionality to your applications. | */ use AuthenticatesUsers; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = '/'; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest')->except('logout'); } /** * Validate the user login request. * * @param \Illuminate\Http\Request $request * @return void */ public function validateLogin($request) { $rules = [ $this->username() => 'required|string', 'password' => 'required|string', ]; if(config('pixelfed.recaptcha')) { $rules['g-recaptcha-response'] = 'required|recaptcha'; } $this->validate($request, $rules); } /** * The user has been authenticated. * * @param \Illuminate\Http\Request $request * @param mixed $user * @return mixed */ protected function authenticated($request, $user) { $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(); } }