mirror of
https://github.com/elyby/accounts.git
synced 2024-11-01 00:13:06 +05:30
29 lines
871 B
PHP
29 lines
871 B
PHP
|
<?php
|
|||
|
namespace api\components\OAuth2\Utils;
|
|||
|
|
|||
|
class Scopes {
|
|||
|
|
|||
|
/**
|
|||
|
* По стандарту OAuth2 scopes должны разделяться пробелом, а не запятой. Косяк.
|
|||
|
* Так что оборачиваем функцию разбора скоупов, заменяя запятые на пробелы.
|
|||
|
* Заодно учитываем возможность передать скоупы в виде массива.
|
|||
|
*
|
|||
|
* @param string|array $scopes
|
|||
|
*
|
|||
|
* @return string
|
|||
|
*/
|
|||
|
public static function format($scopes): string {
|
|||
|
if ($scopes === null) {
|
|||
|
return '';
|
|||
|
}
|
|||
|
|
|||
|
if (is_array($scopes)) {
|
|||
|
return implode(' ', $scopes);
|
|||
|
}
|
|||
|
|
|||
|
/** @noinspection PhpIncompatibleReturnTypeInspection */
|
|||
|
return str_replace(',', ' ', $scopes);
|
|||
|
}
|
|||
|
|
|||
|
}
|