This commit is contained in:
Alex Bilbie
2014-08-06 09:53:47 +01:00
parent 130d42c85e
commit 522c7478c7
7 changed files with 109 additions and 68 deletions

View File

@@ -144,7 +144,7 @@ abstract class AbstractGrant implements GrantTypeInterface
);
if (($scope instanceof ScopeEntity) === false) {
throw new Exception\InvalidScopeException($scopeItem);
throw new Exception\InvalidScopeException($scopeItem, true);
}
$scopes[$scope->getId()] = $scope;

View File

@@ -83,21 +83,6 @@ class AuthCodeGrant extends AbstractGrant
throw new Exception\InvalidRequestException('redirect_uri');
}
$state = $this->server->getRequest()->query->get('state', null);
if ($this->server->stateParamRequired() === true && is_null($state)) {
throw new Exception\InvalidRequestException('state');
}
$responseType = $this->server->getRequest()->query->get('response_type', null);
if (is_null($responseType)) {
throw new Exception\InvalidRequestException('response_type');
}
// Ensure response type is one that is recognised
if (!in_array($responseType, $this->server->getResponseTypes())) {
throw new Exception\UnsupportedResponseTypeException($responseType);
}
// Validate client ID and redirect URI
$client = $this->server->getStorage('client')->get(
$clientId,
@@ -110,6 +95,21 @@ class AuthCodeGrant extends AbstractGrant
throw new Exception\InvalidClientException();
}
$state = $this->server->getRequest()->query->get('state', null);
if ($this->server->stateParamRequired() === true && is_null($state)) {
throw new Exception\InvalidRequestException('state', true);
}
$responseType = $this->server->getRequest()->query->get('response_type', null);
if (is_null($responseType)) {
throw new Exception\InvalidRequestException('response_type', true);
}
// Ensure response type is one that is recognised
if (!in_array($responseType, $this->server->getResponseTypes())) {
throw new Exception\UnsupportedResponseTypeException($responseType);
}
// Validate any scopes that are in the request
$scopeParam = $this->server->getRequest()->query->get('scope', '');
$scopes = $this->validateScopes($scopeParam);