diff --git a/composer.json b/composer.json index d4e6391..aeaf9da 100644 --- a/composer.json +++ b/composer.json @@ -21,9 +21,9 @@ "loyalty" ], "require": { - "php": ">=5.5.0", + "php": ">=5.6.0", "ext-curl": "*", - "league/oauth2-client": "~1.0" + "league/oauth2-client": "~1.4" }, "require-dev": { "phpunit/phpunit": "~4.0", diff --git a/src/Provider/Kangaroo.php b/src/Provider/Kangaroo.php index 8dc0c6b..3bb8590 100644 --- a/src/Provider/Kangaroo.php +++ b/src/Provider/Kangaroo.php @@ -2,9 +2,9 @@ namespace KangarooRewards\OAuth2\Client\Provider; +use KangarooRewards\OAuth2\Client\Provider\KangarooResourceOwner; use League\OAuth2\Client\Provider\AbstractProvider; use League\OAuth2\Client\Provider\Exception\IdentityProviderException; -use KangarooRewards\OAuth2\Client\Provider\KangarooResourceOwner; use League\OAuth2\Client\Token\AccessToken; use League\OAuth2\Client\Tool\BearerAuthorizationTrait; use Psr\Http\Message\ResponseInterface; @@ -80,7 +80,7 @@ public function getDefaultScopes() { return $this->defaultScopes; } - + /** * Generate a Resource Owner object from a successful Resource Owner details request. * @@ -119,17 +119,23 @@ protected function checkResponse(ResponseInterface $response, $data) { $acceptableStatuses = [200, 201]; if (!in_array($response->getStatusCode(), $acceptableStatuses)) { + + if (isset($data['error']['description'])) { + $message = $data['error']['description']; + } elseif (isset($data['error']['message'])) { + $message = $data['error']['message']; + } elseif (isset($data['message'])) { + $message = $data['message']; + } else { + $message = $response->getReasonPhrase(); + } + throw new IdentityProviderException( - $data['message'] ?: $response->getReasonPhrase(), + $message, $response->getStatusCode(), $response ); } - // if (!empty($data['error'])) { - // $message = $data['error']; - // $message = isset($data['message']) ? $data['message'] : ''; - // throw new \Exception($message); - // } } /**