Merge pull request #2158 from CachetHQ/remember-me
Add remember me functionality to login
This commit is contained in:
@@ -19,7 +19,6 @@ use GrahamCampbell\Binput\Facades\Binput;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use PragmaRX\Google2FA\Vendor\Laravel\Facade as Google2FA;
|
||||
@@ -44,26 +43,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()));
|
||||
|
||||
|
||||
@@ -41,6 +41,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
|
||||
|
||||
@@ -27,6 +27,12 @@
|
||||
<label class="sr-only">{{ trans('forms.login.password') }}</label>
|
||||
<input autocomplete="off" class="form-control login-input" placeholder="{{ trans('forms.login.password') }}" required="required" name="password" type="password" value="">
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<input type="hidden" name="remember_me" value="0">
|
||||
<label>
|
||||
<input name="remember_me" type="checkbox" value="1"> {{ trans('forms.login.remember_me') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<div class="col-xs-2">
|
||||
|
||||
Reference in New Issue
Block a user