gpt4 book ai didi

oauth-2.0 - OAuth 客户端凭证流 - 刷新 token

转载 作者:行者123 更新时间:2023-11-30 15:58:26 25 4
gpt4 key购买 nike

场景

我最近构建了一个 API,并使用 OAuth Bearer Access Tokens 保护了它的资源。

我使用了 Client_Credentials Flow,因为它会被客户端而不是用户访问。

事情是这样的,当客户端成功提供了 client_idclient_secret 时,他们会收到如下响应:-

{
"access_token": "<Access Token>",
"token_type": "bearer",
"expires_in": 1199,
"refresh_token": "<Refresh Token>"
}

刷新 token 。

由于不太了解刷新 token ,我立即假设客户端能够向 OAuth 服务器提供 refresh_token 以检索新的 Access_Token

这是“有点”正确的。

为了使用 refresh_token,客户端仍然需要传递 client_idclient_secret 以及 refresh_token 获取新的访问 token 。

grant_type也需要改为refresh_token

使用此流程的 refresh_token 的好处在哪里?如果我每次都需要传递 client_id 和 client_secret,你肯定会完全避免使用刷新 token 吗?

最佳答案

使用客户端凭据授予颁发刷新 token 没有任何好处。这就是为什么 RFC6749 section 4.4.3指示 不应包含刷新 token 。因此,它的发布由授权服务器自行决定。

从我的角度来看,授权服务器不应该使用客户端凭据授予颁发刷新 token ,因为访问 token 颁发过程将采取额外且不必要的步骤:

  • 授予类型为 client_credentials 的访问 token 的颁发在第一个请求时完成。
  • 授予类型为 refresh_token 的访问 token 的颁发至少在两次请求之后完成,具体取决于您颁发给第一个访问 token 的方式。

关于oauth-2.0 - OAuth 客户端凭证流 - 刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340580/

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