From 601d795acef267cf58e198dadbb437d88cffb775 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 22 May 2021 14:45:09 +1000 Subject: [PATCH] Fixes for reset password --- app/Http/Controllers/Auth/LoginController.php | 23 +++++++++++++++++++ app/Models/User.php | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 31ff06d5389b..698857171b84 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -351,6 +351,7 @@ class LoginController extends BaseController if (is_array($user)) { + // $query = [ 'oauth_user_id' => $google->harvestSubField($user), 'oauth_provider_id'=> 'google', @@ -384,6 +385,28 @@ class LoginController extends BaseController return $this->timeConstrainedResponse($cu); } + + //If this is a result user/email combo - lets add their OAuth details details + if($existing_login_user = MultiDB::hasUser(['email' => $google->harvestEmail($user)])) + { + 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); + + auth()->user()->update([ + 'oauth_user_id' => $google->harvestSubField($user), + 'oauth_provider_id'=> 'google', + ]); + } + } if ($user) { diff --git a/app/Models/User.php b/app/Models/User.php index aabe8564d06d..7df1b242e00c 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -408,7 +408,7 @@ class User extends Authenticatable implements MustVerifyEmail $nmo->settings = $this->account->default_company->settings; $nmo->company = $this->account->default_company; - NinjaMailerJob::dispatch($nmo); + NinjaMailerJob::dispatch($nmo, true); //$this->notify(new ResetPasswordNotification($token)); }