gpt4 book ai didi

php - 当客户端发送有效的刷新 token 时,在发布新访问 token 时更改范围

转载 作者:行者123 更新时间:2023-12-05 07:47:46 25 4
gpt4 key购买 nike

我正在使用来自这个 github 存储库的 php oauth2 库。

PHP oauth2 library

每当我发送刷新 token 时,我都会收到具有旧范围的新访问 token 。但我想更改使用新访问 token 返回的范围。

当我第一次使用用户凭据授权类型生成 token 时,我获得了用户支持的范围并以这种方式存储它们。

$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 授权类型发送刷新 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”),这是在使用用户凭据授权类型生成新访问 token 时设置的。

那么,当使用刷新 token 生成新的访问 token 时,有没有办法更改范围?还是我在这里做错了什么?

最佳答案

当客户端在刷新 token 授予中请求新的访问 token 时,它可以“缩小范围”,请参阅此处规范中有关 scope 的文档:https://www.rfc-editor.org/rfc/rfc6749#section-6然而,您的授权服务器可能支持也可能不支持。

关于php - 当客户端发送有效的刷新 token 时,在发布新访问 token 时更改范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39286282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com