Merge pull request #2158 from CachetHQ/remember-me

Add remember me functionality to login
This commit is contained in:
James Brooks
2016-10-08 18:25:01 +01:00
committed by GitHub
3 changed files with 12 additions and 7 deletions

View File

@@ -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()));