API访问凭证(access token)
对UC API发出的每个HTTP请求都必须经过身份认证。此操作是为了保证访问服务的客户端是否为系统已登记的用户。在身份认证的过程中,使用OAuth2.0协议。
在调用API之前,您需要从UC企业管理平台中获得企业级Client ID 与 Client Secret,或者从UC系统管理平台中获取系统级Client ID 与 Client Secret,用于申请访问 token。一个企业或一个系统只能申请一组Client ID 与Client Secret。
Client授权方式只适用于服务器之间的身份认证。如果在开放客户端使用(如:移动APP),就存在安全风险,Client Secret和访问令牌可能会被盗用。
申请访问凭证
请求方法
POST
请求地址
/token
请求参数
参数 | 参数类型 | 数据类型 | 是否必需 | 描述 |
---|---|---|---|---|
Authorization | Header | String | 是 | Basic base64Encode(client_id:client_secret),以冒号连接Client ID和Client Secret,然后进行Base64编码 |
timestamp | Header | String | 是 | 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数 |
nonce | Header | String | 是 | 随机数,最大长度32位 |
grant_type | Body | String | 是 | client_credentials |
HTTP状态码
返回值 | 描述 |
---|---|
200 | 操作成功,详见响应参数 |
400 | 客户端传参异常,详见异常响应参数 |
401 | 鉴权失败,详见异常响应参数 |
500 | 服务端异常,详见异常响应参数 |
响应参数
参数 | 数据类型 | 描述 |
---|---|---|
access_token | String | 访问令牌 |
token_type | String | bearer |
expires_in | Long | 访问令牌有效时间,单位为秒 |
异常响应参数
参数 | 数据类型 | 描述 |
---|---|---|
error | String | 根据OAuth2协议定义提供。表示一个错误代码字符串,可以用于对错误进行分类,并对错误进行处理 |
code | String | 服务端定义的错误码,用于快速定位问题 |
requestId | String | 服务端生成的请求ID,用于在服务端跟踪请求执行情况。能够帮助开发人员快速定位问题 |
message | String | 简单明了的错误描述,能够被终端用户所理解 |
请求消息示例
POST /open/api/v2/token HTTP/1.1
Content-Type: application/json
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
{
"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": "[JWT TOKEN]",
"token_type": "bearer",
"expires_in": 86400
}
异常响应参数
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"error": "invalid_request",
"code": "70011",
"requestId": "255d1aef",
"message": "The provided value for the input parameter 'grant_type' is not valid."
}