mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Исправлен парсинг списка скоупов, если передан массив
Fixes ACCOUNTS-2NA
This commit is contained in:
@@ -7,6 +7,7 @@ use api\components\OAuth2\Entities\ClientEntity;
|
||||
use api\components\OAuth2\Entities\RefreshTokenEntity;
|
||||
use api\components\OAuth2\Entities\SessionEntity;
|
||||
use api\components\OAuth2\Storage\ScopeStorage;
|
||||
use api\components\OAuth2\Utils\Scopes;
|
||||
use League\OAuth2\Server\Entity\AuthCodeEntity as BaseAuthCodeEntity;
|
||||
use League\OAuth2\Server\Entity\ClientEntity as BaseClientEntity;
|
||||
use League\OAuth2\Server\Event\ClientAuthenticationFailedEvent;
|
||||
@@ -220,7 +221,7 @@ class AuthCodeGrant extends AbstractGrant {
|
||||
|
||||
/**
|
||||
* По стандарту OAuth2 scopes должны разделяться пробелом, а не запятой. Косяк.
|
||||
* Так что оборачиваем функцию разбора скоупов, заменяя пробелы на запятые.
|
||||
* Так что оборачиваем функцию разбора скоупов, заменяя запятые на пробелы.
|
||||
*
|
||||
* @param string $scopeParam
|
||||
* @param BaseClientEntity $client
|
||||
@@ -229,8 +230,7 @@ class AuthCodeGrant 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ namespace api\components\OAuth2\Grants;
|
||||
|
||||
use api\components\OAuth2\Entities\AccessTokenEntity;
|
||||
use api\components\OAuth2\Entities\RefreshTokenEntity;
|
||||
use api\components\OAuth2\Utils\Scopes;
|
||||
use ErrorException;
|
||||
use League\OAuth2\Server\Entity\AccessTokenEntity as BaseAccessTokenEntity;
|
||||
use League\OAuth2\Server\Entity\ClientEntity as BaseClientEntity;
|
||||
@@ -48,7 +49,7 @@ class RefreshTokenGrant extends AbstractGrant {
|
||||
|
||||
/**
|
||||
* По стандарту OAuth2 scopes должны разделяться пробелом, а не запятой. Косяк.
|
||||
* Так что оборачиваем функцию разбора скоупов, заменяя пробелы на запятые.
|
||||
* Так что оборачиваем функцию разбора скоупов, заменяя запятые на пробелы.
|
||||
*
|
||||
* @param string $scopeParam
|
||||
* @param BaseClientEntity $client
|
||||
@@ -57,8 +58,7 @@ class RefreshTokenGrant 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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user