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\Routing\Controller;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\Redirect;
|
use Illuminate\Support\Facades\Redirect;
|
||||||
use Illuminate\Support\Facades\Request;
|
|
||||||
use Illuminate\Support\Facades\Session;
|
use Illuminate\Support\Facades\Session;
|
||||||
use Illuminate\Support\Facades\View;
|
use Illuminate\Support\Facades\View;
|
||||||
use PragmaRX\Google2FA\Vendor\Laravel\Facade as Google2FA;
|
use PragmaRX\Google2FA\Vendor\Laravel\Facade as Google2FA;
|
||||||
@@ -44,26 +43,25 @@ class AuthController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function postLogin()
|
public function postLogin()
|
||||||
{
|
{
|
||||||
$loginData = Binput::only(['username', 'password']);
|
$loginData = Binput::only(['username', 'password', 'remember_me']);
|
||||||
|
|
||||||
// Login with username or email.
|
// Login with username or email.
|
||||||
$loginKey = filter_var($loginData['username'], FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
|
$loginKey = filter_var($loginData['username'], FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
|
||||||
$loginData[$loginKey] = array_pull($loginData, 'username');
|
$loginData[$loginKey] = array_pull($loginData, 'username');
|
||||||
|
|
||||||
|
$rememberUser = array_pull($loginData, 'remember_me') === '1';
|
||||||
|
|
||||||
// Validate login credentials.
|
// Validate login credentials.
|
||||||
if (Auth::validate($loginData)) {
|
if (Auth::validate($loginData)) {
|
||||||
// Log the user in for one request.
|
|
||||||
Auth::once($loginData);
|
Auth::once($loginData);
|
||||||
// Do we have Two Factor Auth enabled?
|
|
||||||
if (Auth::user()->hasTwoFactor) {
|
if (Auth::user()->hasTwoFactor) {
|
||||||
// Temporarily store the user.
|
|
||||||
Session::put('2fa_id', Auth::user()->id);
|
Session::put('2fa_id', Auth::user()->id);
|
||||||
|
|
||||||
return Redirect::route('auth.two-factor');
|
return Redirect::route('auth.two-factor');
|
||||||
}
|
}
|
||||||
|
|
||||||
// We probably want to add support for "Remember me" here.
|
Auth::attempt($loginData, $rememberUser);
|
||||||
Auth::attempt($loginData);
|
|
||||||
|
|
||||||
event(new UserLoggedInEvent(Auth::user()));
|
event(new UserLoggedInEvent(Auth::user()));
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ return [
|
|||||||
'invalid-token' => 'Invalid token',
|
'invalid-token' => 'Invalid token',
|
||||||
'cookies' => 'You must enable cookies to login.',
|
'cookies' => 'You must enable cookies to login.',
|
||||||
'rate-limit' => 'Rate limit exceeded.',
|
'rate-limit' => 'Rate limit exceeded.',
|
||||||
|
'remember_me' => 'Remember me',
|
||||||
],
|
],
|
||||||
|
|
||||||
// Incidents form fields
|
// Incidents form fields
|
||||||
|
|||||||
@@ -27,6 +27,12 @@
|
|||||||
<label class="sr-only">{{ trans('forms.login.password') }}</label>
|
<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="">
|
<input autocomplete="off" class="form-control login-input" placeholder="{{ trans('forms.login.password') }}" required="required" name="password" type="password" value="">
|
||||||
</div>
|
</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="form-group">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user