/** * @param string $clientIdentifier * @param string $grantType * @param null $clientSecret * @param bool $mustValidateSecret * * @return \League\OAuth2\Server\Entities\ClientEntityInterface|boolean */ public function getClientEntity($clientIdentifier, $grantType, $clientSecret = null, $mustValidateSecret = true) { $query = ClientModel::find(); ClientModel::findByClientId($clientIdentifier, $query); ClientModel::findByGrantType($grantType, $query); if ($mustValidateSecret) { if (!$clientSecret) { return false; } ClientModel::findBySecret($clientSecret, $query); } if (!($result = $query->one())) { return false; } $clientEntity = new ClientEntity(); $clientEntity->setIdentifier($result->id); $clientEntity->setName($result->name); $clientEntity->setRedirectUri($result->clientProfile->redirect_uri); return $clientEntity; }