API授权
名词解释
api_key:平台为每一个管理员(主账号)分配的公钥,是请求API时用来校验身份的一串字符,可在账户管理-API页面获取。
secret_key:用于生成数字签名的私钥,与api_key一一对应,可在账户管理>API页面获取。
timestamp:当前请求时间戳(毫秒时间戳)。
auth:通过特定的规则生成的数字签名。
授权流程
用户向认证服务发起请求,请求包含api_key、auth、timestamp参数。
认证服务收到请求后,会对参数进行校验,校验通过后会返回access_token。
用户收到access_token后,就可以拿access_token去请求API获取数据。
access_token说明:
access_token有效期2小时,过期失效。
重复申请access_token,会导致前一次申请的access_token失效,以最近一次申请的为准。
access_token失效后需重新申请,建议建立access_token更新机制,以便access_token失效后可以及时更新。
auth计算规则:
auth字符串拼接
api_key=”这里是api_key的值”&secret_key=”这里是secret_key的值”×tamp=”这里是当前请求的毫秒时间戳”
auth字符串加密,对auth拼接完的字符串进行32位小写MD5加密。
获取access_token
接口调用地址:
\${host}/auth-api/auth/token?api_key=xxxxx&auth=xxxxx×tamp=xxxxxx
请求参数说明:
字段名 | 类型 | 描述 |
---|---|---|
api_key | String | 身份校验码 |
auth | String | 加密签名 |
timestamp | Long | 当前请求的毫秒时间戳 |
返回示例:
{
“code”:200,
“msg”:”success”,
“access_token”:” hbWUiOiLkupHljZfnlLXnvZEiLCJjb”
}
返回参数说明:
参数名 | 描述 |
---|---|
code | 返回码 |
msg | 返回消息 |
access_token | access_token,用于调用基调听云API时做身份认证 |
返回码说明:
code | msg | 描述 |
---|---|---|
200 | success | 成功 |
40001 | Invalid timestamp | 无效的时间戳 |
40002 | Invalid api_key | 无效的api_key |
40003 | Invalid auth | 无效的签名 |
调用基调听云API
调用基调听云API获取数据,需要在请求的Headers里添加Authorization参数,参数值为”Bearer”+${access_token}。
Authorization示例:
Authorization= Bearer hbWUiOiLkupHljZfnlLXnvZEiLCJjb
注意:Bearer和access_token之间有一个空格。