API访问凭证(access token)
更新时间:2024-11-14 09:47:05

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."
}
本页目录