Skip to content

Commit

Permalink
Fix Twitter provider
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinelame committed Dec 1, 2023
1 parent d34d334 commit 85ab056
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 7 deletions.
25 changes: 18 additions & 7 deletions src/Two/AbstractProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,23 @@ protected function getTokenFields($code)
* @return Token
*/
public function refreshToken($refreshToken)
{
$response = $this->getRefreshTokenResponse($refreshToken);

return (new Token)
->setToken(Arr::get($response, 'access_token'))
->setRefreshToken(Arr::get($response, 'refresh_token'))
->setExpiresIn(Arr::get($response, 'expires_in'))
->setApprovedScopes(explode($this->scopeSeparator, Arr::get($response, 'scope', '')));
}

/**
* Get the refresh token response for the given refresh token.
*
* @param string $refreshToken
* @return array
*/
public function getRefreshTokenResponse($refreshToken)
{
$response = $this->getHttpClient()->post($this->getTokenUrl(), [
RequestOptions::HEADERS => ['Accept' => 'application/json'],
Expand All @@ -358,13 +375,7 @@ public function refreshToken($refreshToken)
],
]);

$response = json_decode($response->getBody(), true);

return (new Token)
->setToken(Arr::get($response, 'access_token'))
->setRefreshToken(Arr::get($response, 'refresh_token'))
->setExpiresIn(Arr::get($response, 'expires_in'))
->setApprovedScopes(explode($this->scopeSeparator, Arr::get($response, 'scope', '')));
return json_decode($response->getBody(), true);
}

/**
Expand Down
19 changes: 19 additions & 0 deletions src/Two/TwitterProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,25 @@ public function getAccessTokenResponse($code)
return json_decode($response->getBody(), true);
}

/**
* {@inheritdoc}
*/
public function getRefreshTokenResponse($refreshToken)
{
$response = $this->getHttpClient()->post($this->getTokenUrl(), [
RequestOptions::HEADERS => ['Accept' => 'application/json'],
RequestOptions::AUTH => [$this->clientId, $this->clientSecret],
RequestOptions::FORM_PARAMS => [
'grant_type' => 'refresh_token',
'refresh_token' => $refreshToken,
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
],
]);

return json_decode($response->getBody(), true);
}

/**
* {@inheritdoc}
*/
Expand Down

0 comments on commit 85ab056

Please sign in to comment.