From af687948233714d6ee4c196e6aa801b0e4b6a61b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 10 Jun 2021 18:35:58 +1000 Subject: [PATCH] Resolve access token from refresh token - gmail --- app/Http/Controllers/Auth/LoginController.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 44cc29777688..7dc2851b95c6 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -508,6 +508,17 @@ class LoginController extends BaseController public function handleProviderCallback(string $provider) { $socialite_user = Socialite::driver($provider)->user(); + $oauth_user_token = ''; + + if($socialite_user->refreshToken){ + + $client = new Google_Client(); + $client->setClientId(config('ninja.auth.google.client_id')); + $client->setClientSecret(config('ninja.auth.google.client_secret')); + $client->fetchAccessTokenWithRefreshToken($socialite_user->refreshToken); + $oauth_user_token = $client->getAccessToken(); + + } if($user = OAuth::handleAuth($socialite_user, $provider)) { @@ -522,7 +533,8 @@ class LoginController extends BaseController 'email' => $socialite_user->getEmail(), 'oauth_user_id' => $socialite_user->getId(), 'oauth_provider_id' => $provider, - 'oauth_user_token' => $socialite_user->refreshToken, + 'oauth_user_token' => $oauth_user_token, + 'oauth_user_refresh_token' => $socialite_user->refreshToken ]; $user->update($update_user);