diff --git a/src/GoHighLevel/Provider.php b/src/GoHighLevel/Provider.php index 763a3c4a5..63a8936fb 100644 --- a/src/GoHighLevel/Provider.php +++ b/src/GoHighLevel/Provider.php @@ -4,6 +4,7 @@ use GuzzleHttp\RequestOptions; use Illuminate\Support\Arr; +use Laravel\Socialite\Two\Token; use SocialiteProviders\Manager\OAuth2\AbstractProvider; use SocialiteProviders\Manager\OAuth2\User; @@ -82,7 +83,7 @@ protected function mapUserToObject(array $user) * * @param string $refreshToken * - * @return array + * @return Token */ public function refreshToken($refreshToken) { @@ -98,7 +99,14 @@ public function refreshToken($refreshToken) ], ]); - return json_decode((string) $response->getBody(), true); + $token = json_decode((string) $response->getBody(), true, 512, JSON_THROW_ON_ERROR); + + return new Token( + Arr::get($token, 'access_token'), + Arr::get($token, 'refresh_token'), + Arr::get($token, 'expires_in'), + explode($this->scopeSeparator, Arr::get($token, 'scope', '')) + ); } public function inSameWindow(bool $sameWindow = true): self