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接口错误处理