diff --git a/src/Grant/AbstractGrant.php b/src/Grant/AbstractGrant.php index c34e65cf..4531a6a3 100644 --- a/src/Grant/AbstractGrant.php +++ b/src/Grant/AbstractGrant.php @@ -181,7 +181,7 @@ abstract class AbstractGrant implements GrantTypeInterface $clientSecret = $this->getRequestParameter('client_secret', $request, $basicAuthPassword); - if ($this->clientRepository->validateClient($clientId, $clientSecret) === false) { + if ($this->clientRepository->validateClient($clientId, $clientSecret, $this->getIdentifier()) === false) { $this->getEmitter()->emit(new RequestEvent(RequestEvent::CLIENT_AUTHENTICATION_FAILED, $request)); throw OAuthServerException::invalidClient($request); @@ -191,7 +191,7 @@ abstract class AbstractGrant implements GrantTypeInterface // If a redirect URI is provided ensure it matches what is pre-registered $redirectUri = $this->getRequestParameter('redirect_uri', $request, null); - + if ($redirectUri !== null) { $this->validateRedirectUri($redirectUri, $client, $request); } diff --git a/src/Repositories/ClientRepositoryInterface.php b/src/Repositories/ClientRepositoryInterface.php index d390a5f6..eee03104 100644 --- a/src/Repositories/ClientRepositoryInterface.php +++ b/src/Repositories/ClientRepositoryInterface.php @@ -39,15 +39,9 @@ interface ClientRepositoryInterface extends RepositoryInterface * * @param string $clientIdentifier The client's identifier * @param null|string $clientSecret The client's secret (if sent) + * @param null|string $grantType The type of grant the client is using (if sent) * * @return bool */ - public function validateClient($clientIdentifier, $clientSecret); - - /** - * Check if a client can use a grant type. - * - * @return bool - */ - public function canUseGrant($clientIdentifier, $grantType); + public function validateClient($clientIdentifier, $clientSecret, $grantType); }