diff options
Diffstat (limited to 'vendor/OAuth/OAuth1')
-rwxr-xr-x | vendor/OAuth/OAuth1/Service/AbstractService.php | 10 | ||||
-rwxr-xr-x | vendor/OAuth/OAuth1/Service/Etsy.php | 38 |
2 files changed, 39 insertions, 9 deletions
diff --git a/vendor/OAuth/OAuth1/Service/AbstractService.php b/vendor/OAuth/OAuth1/Service/AbstractService.php index 0bff5558..43c9c9f6 100755 --- a/vendor/OAuth/OAuth1/Service/AbstractService.php +++ b/vendor/OAuth/OAuth1/Service/AbstractService.php @@ -82,10 +82,6 @@ abstract class AbstractService extends BaseAbstractService implements ServiceInt } $this->signature->setTokenSecret($tokenSecret); - $extraAuthenticationHeaders = array( - 'oauth_token' => $token, - ); - $bodyParams = array( 'oauth_verifier' => $verifier, ); @@ -207,10 +203,8 @@ abstract class AbstractService extends BaseAbstractService implements ServiceInt } $parameters = array_merge($parameters, array('oauth_token' => $token->getAccessToken())); - - $mergedParams = (is_array($bodyParams)) ? array_merge($parameters, $bodyParams) : $parameters; - - $parameters['oauth_signature'] = $this->signature->getSignature($uri, $mergedParams, $method); + $parameters = (is_array($bodyParams)) ? array_merge($parameters, $bodyParams) : $parameters; + $parameters['oauth_signature'] = $this->signature->getSignature($uri, $parameters, $method); $authorizationHeader = 'OAuth '; $delimiter = ''; diff --git a/vendor/OAuth/OAuth1/Service/Etsy.php b/vendor/OAuth/OAuth1/Service/Etsy.php index 884358eb..30dc331c 100755 --- a/vendor/OAuth/OAuth1/Service/Etsy.php +++ b/vendor/OAuth/OAuth1/Service/Etsy.php @@ -13,6 +13,9 @@ use OAuth\Common\Http\Client\ClientInterface; class Etsy extends AbstractService { + + protected $scopes = array(); + public function __construct( CredentialsInterface $credentials, ClientInterface $httpClient, @@ -32,7 +35,14 @@ class Etsy extends AbstractService */ public function getRequestTokenEndpoint() { - return new Uri($this->baseApiUri . 'oauth/request_token'); + $uri = new Uri($this->baseApiUri . 'oauth/request_token'); + $scopes = $this->getScopes(); + + if (count($scopes)) { + $uri->setQuery('scope=' . implode('%20', $scopes)); + } + + return $uri; } /** @@ -93,4 +103,30 @@ class Etsy extends AbstractService return $token; } + + /** + * Set the scopes for permissions + * @see https://www.etsy.com/developers/documentation/getting_started/oauth#section_permission_scopes + * @param array $scopes + * + * @return $this + */ + public function setScopes(array $scopes) + { + if (!is_array($scopes)) { + $scopes = array(); + } + + $this->scopes = $scopes; + return $this; + } + + /** + * Return the defined scopes + * @return array + */ + public function getScopes() + { + return $this->scopes; + } } |