diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 2c9e0689..ecfec734 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -44,26 +44,25 @@ class AuthController extends Controller */ public function postLogin() { - $loginData = Binput::only(['username', 'password']); + $loginData = Binput::only(['username', 'password', 'remember_me']); // Login with username or email. $loginKey = filter_var($loginData['username'], FILTER_VALIDATE_EMAIL) ? 'email' : 'username'; $loginData[$loginKey] = array_pull($loginData, 'username'); + $rememberUser = array_pull($loginData, 'remember_me') === '1'; + // Validate login credentials. if (Auth::validate($loginData)) { - // Log the user in for one request. Auth::once($loginData); - // Do we have Two Factor Auth enabled? + if (Auth::user()->hasTwoFactor) { - // Temporarily store the user. Session::put('2fa_id', Auth::user()->id); return Redirect::route('auth.two-factor'); } - // We probably want to add support for "Remember me" here. - Auth::attempt($loginData); + Auth::attempt($loginData, $rememberUser); event(new UserLoggedInEvent(Auth::user())); diff --git a/resources/lang/en/forms.php b/resources/lang/en/forms.php index 6064a1a8..b2acf8d0 100644 --- a/resources/lang/en/forms.php +++ b/resources/lang/en/forms.php @@ -40,6 +40,7 @@ return [ 'invalid-token' => 'Invalid token', 'cookies' => 'You must enable cookies to login.', 'rate-limit' => 'Rate limit exceeded.', + 'remember_me' => 'Remember me', ], // Incidents form fields diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index a4537f53..28d2d60e 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -27,6 +27,12 @@ +