申请令牌(token)

OAuth2.0四种模式需要使用"application/x-www-form-urlencoded”格式向授权服务请求访问令牌。

网关地址

沙箱环境调用地址: https://sandbox.hscloud.cn
数据核查类生产调用地址: https://api.hscloud.cn
仿真业务接口生产调用地址: https://vopen.hscloud.cn
其余生产调用地址: https://open.hscloud.cn

URL

https://sandbox.hscloud.cn/oauth2/oauth2/token

是否需要业务登录

HTTP请求方式

POST

请求参数

参数名 类型 必填 最大长度 默认值 中文名 描述
scope String 授权范围
刷新访问令牌时有效,用于重新指定授权服务器通知App应用颁发令牌的访问范围,多个授权范围可以使用逗号(,)连接;
authorization String 认证
样式为:Basic Base64Encode(App Key, App Secret),例如:<br/>Authorization:Basic eHh4LUtleS14eHg6eHh4LXNlY3JldC14eHg=<br/><br/>说明: 函数 Base64Encode(App Key, App Secret) 是对App Key:App Secret进行 Base64 编码后的字符串(区分大小写,包含冒号,但不包含双引号,采用 UTF-8 编码)。<br/><br/>其中App Key和App Secret可在开放平台上创建应用后获取。
code String 授权码
表示由授权服务器产生用于应用向授权服务器交换令牌的授权码,授权码应该在被颁发后迅速过期,以降低泄露风险。<br/>客户端一定不能重用同一个授权码,如果一个授权码被多次使用,授权服务器可能撤销之前基于这个授权码分发的所有令牌。<br/>授权码与客户端标识符和重定向URI相绑定,授权码模式时必须输入。
redirect_uri String 回调地址
应为创建应用时注册登记的回调地址,且需要将url进行URLEncode编码,编码格式为UTF-8
refresh_token String 刷新令牌
刷新访问令牌时有效,填写在申请令牌时获得的Refresh Token字符串。
password String 密码
用于用户密码模式,资源所有者的密码,其它模式无此参数
grant_type String 授权类型
授权码模式时,必须为authorization_code;<br/>用户密码模式时,必须为password;<br/>客户端凭证模式时,必须为client_credentials;<br/>刷新访问令牌时,则必须为refresh_token
open_id String 使用者唯一标识
用于唯一标识使用同一终端应用的用户,可以填充用户ID、设备UUID等。<br/>即开放平台根据”App Key+Open ID”组合的来判定使用者的唯一性。
username String 用户名
用于用户密码模式,资源所有者的用户名,其它模式无此参数

返回参数

参数名 类型 最大长度 默认值 中文名 描述
access_token String 访问令牌
由授权服务授权颁发的访问令牌
refresh_token String 刷新令牌
访问令牌失效后,必须重新申请令牌。所以我们可以在令牌临近失效时,使用刷新令牌(Refresh Token)来续订。
scope String 授权范围
用于授权服务器通知App应用颁发令牌的访问范围,多个授权范围可以使用逗号(,)连接。
expires_in String 访问令牌生命周期
表示访问令牌生命周期的秒数。<br>例如,“86400”表示自响应被授权服务器产生的时刻起,访问令牌将在24小时后过期;具体以实际返回值为准。
token_type String 认证类型
目前必为Bearer

数据字典(338)

请求示例

下面是“授权码模式”时,使用应用标识串和授权码串置换访问令牌的请求报文示例:
POST /oauth2/oauth2/token HTTP/1.1
Host: open.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: open.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"
}

错误返回示例

HTTP/1.1 400 bad request
{
"error": "invalid_usercredentials",
"error_description": "用户凭据无效.","error_no”:”PUB:5190002”,”error_info”:”密码错误”
}