From 9d21b4fd57cf262433e2e009d55c6309db5a5a7b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 23 May 2021 18:43:50 +1000 Subject: [PATCH] Refactor LoginController --- app/Http/Controllers/Auth/LoginController.php | 42 +++---------------- app/Utils/Traits/User/LoginCache.php | 35 ++++++++++++++++ 2 files changed, 41 insertions(+), 36 deletions(-) create mode 100644 app/Utils/Traits/User/LoginCache.php diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 772563845e40..12e41e25eafd 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -178,8 +178,7 @@ class LoginController extends BaseController event(new UserLoggedIn($user, $user->account->default_company, Ninja::eventVars($user->id))); - //if user has 2fa enabled - lets check this now: - + //2FA if($user->google_2fa_secret && $request->has('one_time_password')) { $google2fa = new Google2FA(); @@ -203,14 +202,7 @@ class LoginController extends BaseController $user->setCompany($user->account->default_company); - $timeout = $user->company()->default_password_timeout; - - if($timeout == 0) - $timeout = 30*60*1000*1000; - else - $timeout = $timeout/1000; - - Cache::put($user->hashed_id.'_'.$user->account_id.'_logged_in', Str::random(64), $timeout); + $this->setLoginCache($user); $cu = CompanyUser::query() ->where('user_id', auth()->user()->id); @@ -228,7 +220,7 @@ class LoginController extends BaseController }); return $this->timeConstrainedResponse($cu); - // return $this->listResponse($cu); + } else { @@ -362,14 +354,7 @@ class LoginController extends BaseController Auth::login($existing_user, true); $existing_user->setCompany($existing_user->account->default_company); - $timeout = $existing_user->company()->default_password_timeout; - - if($timeout == 0) - $timeout = 30*60*1000*1000; - else - $timeout = $timeout/1000; - - Cache::put($existing_user->hashed_id.'_'.$existing_user->account_id.'_logged_in', Str::random(64), $timeout); + $this->setLoginCache($existing_user); $cu = CompanyUser::query() ->where('user_id', auth()->user()->id); @@ -392,21 +377,13 @@ class LoginController extends BaseController Auth::login($existing_login_user, true); $existing_login_user->setCompany($existing_login_user->account->default_company); - $timeout = $existing_login_user->company()->default_password_timeout; - - if($timeout == 0) - $timeout = 30*60*1000*1000; - else - $timeout = $timeout/1000; - - Cache::put($existing_login_user->hashed_id.'_'.$existing_login_user->account_id.'_logged_in', Str::random(64), $timeout); + $this->setLoginCache($existing_login_user); auth()->user()->update([ 'oauth_user_id' => $google->harvestSubField($user), 'oauth_provider_id'=> 'google', ]); - $cu = CompanyUser::query() ->where('user_id', auth()->user()->id); @@ -447,14 +424,7 @@ class LoginController extends BaseController auth()->user()->email_verified_at = now(); auth()->user()->save(); - $timeout = auth()->user()->company()->default_password_timeout; - - if($timeout == 0) - $timeout = 30*60*1000*1000; - else - $timeout = $timeout/1000; - - Cache::put(auth()->user()->hashed_id.'_'.auth()->user()->account_id.'_logged_in', Str::random(64), $timeout); + $this->setLoginCache(auth()->user()); $cu = CompanyUser::whereUserId(auth()->user()->id); diff --git a/app/Utils/Traits/User/LoginCache.php b/app/Utils/Traits/User/LoginCache.php new file mode 100644 index 000000000000..de91d34f4713 --- /dev/null +++ b/app/Utils/Traits/User/LoginCache.php @@ -0,0 +1,35 @@ +company()->default_password_timeout; + + if($timeout == 0) + $timeout = 30*60*1000*1000; + else + $timeout = $timeout/1000; + + Cache::put($user->hashed_id.'_'.$user->account_id.'_logged_in', Str::random(64), $timeout); + + } + +} \ No newline at end of file