From f492ac69ce008889e99cf543f5de7a1ed83e7d11 Mon Sep 17 00:00:00 2001 From: pm Date: Fri, 14 Aug 2026 19:48:50 +0300 Subject: [PATCH 1/3] Extend Token with accessTokenResponseBody --- src/OAuth2/AbstractProvider.php | 20 ++++++++++++++++++++ src/OAuth2/Token.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/OAuth2/Token.php diff --git a/src/OAuth2/AbstractProvider.php b/src/OAuth2/AbstractProvider.php index abc001e..ee39acf 100644 --- a/src/OAuth2/AbstractProvider.php +++ b/src/OAuth2/AbstractProvider.php @@ -66,6 +66,26 @@ public function user() ->setApprovedScopes($this->parseApprovedScopes($response)); } + /** + * Refresh a user's access token with a refresh token. + * + * @param string $refreshToken + * @return \SocialiteProviders\Manager\OAuth2\Token + */ + public function refreshToken($refreshToken) + { + $response = $this->getRefreshTokenResponse($refreshToken); + + $token = new Token( + $this->parseAccessToken($response), + $this->parseRefreshToken($response), + $this->parseExpiresIn($response), + $this->parseApprovedScopes($response) + ); + + return $token->setAccessTokenResponseBody($response); + } + /** * Get the access token from the token response body. * diff --git a/src/OAuth2/Token.php b/src/OAuth2/Token.php new file mode 100644 index 0000000..abe5d75 --- /dev/null +++ b/src/OAuth2/Token.php @@ -0,0 +1,30 @@ +accessTokenResponseBody = $accessTokenResponseBody; + + return $this; + } +} \ No newline at end of file From 5f48a26e54a9415f6a7268a5a87dc613d72a96d7 Mon Sep 17 00:00:00 2001 From: pm Date: Fri, 14 Aug 2026 21:18:45 +0300 Subject: [PATCH 2/3] accessTokenResponseBody default value --- src/OAuth2/Token.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OAuth2/Token.php b/src/OAuth2/Token.php index abe5d75..38759ac 100644 --- a/src/OAuth2/Token.php +++ b/src/OAuth2/Token.php @@ -11,7 +11,7 @@ class Token extends \Laravel\Socialite\Two\Token * * @var array */ - public $accessTokenResponseBody; + public $accessTokenResponseBody = []; /** * Set the credentials on the user. From 3f1391cd9cdc1f18cae1665fa471170f05c013c1 Mon Sep 17 00:00:00 2001 From: pm Date: Sun, 16 Aug 2026 09:09:34 +0300 Subject: [PATCH 3/3] add finishing newline --- src/OAuth2/Token.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OAuth2/Token.php b/src/OAuth2/Token.php index 38759ac..58457ae 100644 --- a/src/OAuth2/Token.php +++ b/src/OAuth2/Token.php @@ -27,4 +27,4 @@ public function setAccessTokenResponseBody(array $accessTokenResponseBody) return $this; } -} \ No newline at end of file +}