https://api.hscloud.cn/oauth2/oauth2/token
HEADER参数
|
参数名 |
必选 |
类型 | 中文名 |
|
|
Authorization |
true |
String | 认证 | 样式为:Basic Base64Encode(App
Key, App Secret),例如: Authorization:Basic eHh4LUtleS14eHg6eHh4LXNlY3JldC14eHg= 说明: 函数 Base64Encode(App Key, App Secret) 是对"App Key:App Secret"进行 Base64 编码后的字符串(区分大小写,包含冒号,但不包含双引号,采用 UTF-8 编码)。 其中App Key和App Secret可在开放平台上创建应用后获取。 |
| 参数名 | 必选 | 类型 | 中文名 | 说明 |
|---|---|---|---|---|
| grant_type | true | string | 授权类型 | 授权码模式时,必须为"authorization_code"; 用户密码模式时,必须为“password”; 客户端凭证模式时,必须为“client_credentials”; 刷新访问令牌时,则必须为“refresh_token” |
| code | false | string | 授权码 | 表示由授权服务器产生用于应用向授权服务器交换令牌的授权码,授权码应该在被颁发后迅速过期,以降低泄露风险。 客户端一定不能重用同一个授权码,如果一个授权码被多次使用,授权服务器可能撤销之前基于这个授权码分发的所有令牌。 授权码与客户端标识符和重定向URI相绑定,授权码模式时必须输入。 |
| redirect_uri | true | string | 回调地址 | 应为创建应用时注册登记的回调地址,且需要将url进行URLEncode编码,编码格式为UTF-8 |
| username | false | string | 用户名 | 用于用户密码模式,资源所有者的用户名,其它模式无此参数 |
| password | false | string | 密码 | 用于用户密码模式,资源所有者的密码,其它模式无此参数 |
| open_id | false | string | 使用者唯一标识 | 用于唯一标识使用同一终端应用的用户,可以填充用户ID、设备UUID等。 即开放平台根据”App Key+Open ID”组合的来判定使用者的唯一性。 |
| scope | false | string | 授权范围 |
刷新访问令牌时有效,用于重新指定授权服务器通知App应用颁发令牌的访问范围,多个授权范围可以使用逗号(,)连接; 注意:指定的范围必须是在原业务范围基础上缩小后的范围。 |
| refresh_token | false | string | 刷新令牌 | 刷新访问令牌时有效,填写在申请令牌时获得的“Refresh Token”字符串。 |
| 参数名 | 类型 | 中文名 | 说明 |
| access_token | string | 访问令牌 | 由授权服务授权颁发的访问令牌 |
| token_type | string | 令牌类型 | 目前必为"Bearer" |
| expires_in | string | 访问令牌生命周期 | 表示访问令牌生命周期的秒数。 |
| 例如,“3600”表示自响应被授权服务器产生的时刻起,访问令牌将在1小时后过期。 | |||
| scope | string | 授权范围 | 用于授权服务器通知App应用颁发令牌的访问范围,多个授权范围可以使用逗号(,)连接。 |
| refresh_token | string | 刷新令牌 | 访问令牌失效后,必须重新申请令牌。所以我们可以在令牌临近失效时,使用刷新令牌(Refresh Token)来续订。 |
下面是“授权码模式”时,使用应用标识串和授权码串置换访问令牌的请求报文示例:
POST /oauth2/oauth2/token HTTP/1.1 Host: api.hscloud.cn Authorization: Basic MTg2NDE3Y2UteHh4eC14eHh4LXh4eHgteHh4eHgxYjkyMDAzOjYxNGE1OGRhLXh4eHgteHh4eC14eHh4LXh4eHh4ZmZmYjA1MQ== Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https%3A%2F%2Fwww%2Eexample%2Ecom%2Fre
下面是“客户端凭证模式”时,使用应用标识串置换访问令牌的请求报文示例:
POST /oauth2/oauth2/token HTTP/1.1 Host: api.hscloud.cn Authorization: Basic MTg2NDE3Y2UteHh4eC14eHh4LXh4eHgteHh4eHgxYjkyMDAzOjYxNGE1OGRhLXh4eHgteHh4eC14eHh4LXh4eHh4ZmZmYjA1MQ== Content-Type: application/x-www-form-urlencoded grant_type= client_credentials
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"Bearer",
"expires_in":86400,
"scope":"iuc,trade,trade_entrust"
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
}
详细请参见:OAuth2.0接口错误处理