对于oAuth 2.0,我面临一些问题。特别是thephpleague/OAuth2-服务器实现。
我成功地设置了一个端点,以使用密码授予类型创建访问令牌。这是,当某人执行POST /auth时,他们会得到以下答案:
{
"access_token": "hleVw03Fx4hVsaCqEmFqcXeks0hsDTkNSxMN17NR",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "GD8kT7JfGULhUKSTSBsF7AO6NaIXrqPS0dlyQjTm"
}我现在要做的是,在access_token过期时生成一个新令牌。我知道我应该使用refresh_token来请求一个新的令牌。不过,我一开始没有找到任何文档。
发布于 2015-04-16 19:56:22
可以使用刷新授权类型获得新的访问令牌。这是规范中描述的一个标准化流程:https://www.rfc-editor.org/rfc/rfc6749#section-6。对令牌端点的示例请求(取自规范)如下所示:
POST /token HTTP/1.1
Host: server.example.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA在这种情况下,客户机使用基本身份验证对令牌端点使用client_id和client_secret进行身份验证。在命令行cURL中,如下所示:
curl -u "${CLIENT_ID}:${CLIENT_SECRET}" -d "grant_type=refresh_token&refresh_token=${REFRESH_TOKEN}"https://stackoverflow.com/questions/29682205
复制相似问题