我正在使用来自GitHub存储库的PHP OAuth2库。
每当我发送刷新令牌时,我会收到一个带有旧范围的新访问令牌。 但是我想更改返回新访问令牌的范围。
当我首次使用用户凭据授权类型生成令牌时,我会获取用户支持的范围并以此方式存储它们。
$defaultScope = implode(" ", $scopes);$memory = new OAuth2\Storage\Memory(array('default_scope' =>$defaultScope));
$scopeUtil = new OAuth2\Scope($memory);
$this->server->setScopeUtil($scopeUtil);
$this->server->handleTokenRequest(OAuth2\Request::createFromGlobals())->send();
其中$scopes是一个数组
例如,$scopes=array("ADDUSER","EDITUSER","EDITROLE");
同样地,如果我使用refresh_token授权类型发送刷新令牌,并使用修改后的$scopes运行此操作
例如,$scopes=array("ADDUSER", "EDITROLE"); $defaultScope = implode(" ", $scopes);$memory = new OAuth2\Storage\Memory(array('default_scope' =>$defaultScope));
$scopeUtil = new OAuth2\Scope($memory);
$this->server->setScopeUtil($scopeUtil);
$this->server->handleTokenRequest(OAuth2\Request::createFromGlobals())->send();
当使用用户凭证授权类型生成新的访问令牌时,我会收到相同的旧范围(“ADDUSER EDITUSER EDITROLE”)。
那么,在使用刷新令牌生成新的访问令牌时是否有一种方法可以更改范围?或者我在这里做错了什么?