Исправлен парсинг списка скоупов, если передан массив

Fixes ACCOUNTS-2NA
This commit is contained in:
ErickSkrauch
2017-10-04 14:42:48 +03:00
parent 839257e32a
commit 3143d2fc26
5 changed files with 37 additions and 10 deletions

View File

@@ -3,6 +3,7 @@ namespace api\components\OAuth2\Grants;
use api\components\OAuth2\Entities\AccessTokenEntity;
use api\components\OAuth2\Entities\SessionEntity;
use api\components\OAuth2\Utils\Scopes;
use League\OAuth2\Server\Entity\ClientEntity as BaseClientEntity;
use League\OAuth2\Server\Event;
use League\OAuth2\Server\Exception;
@@ -69,7 +70,7 @@ class ClientCredentialsGrant extends AbstractGrant {
/**
* По стандарту OAuth2 scopes должны разделяться пробелом, а не запятой. Косяк.
* Так что оборачиваем функцию разбора скоупов, заменяя пробелы на запятые.
* Так что оборачиваем функцию разбора скоупов, заменяя запятые на пробелы.
*
* @param string $scopeParam
* @param BaseClientEntity $client
@@ -78,8 +79,7 @@ class ClientCredentialsGrant extends AbstractGrant {
* @return \League\OAuth2\Server\Entity\ScopeEntity[]
*/
public function validateScopes($scopeParam = '', BaseClientEntity $client, $redirectUri = null) {
$scopes = str_replace(' ', $this->server->getScopeDelimiter(), $scopeParam);
return parent::validateScopes($scopes, $client, $redirectUri);
return parent::validateScopes(Scopes::format($scopeParam), $client, $redirectUri);
}
}