获取security token | POST /token/v2¶
功能¶
应对类似WebAR,小程序等需求,建议通过APIKey获取Access Token请求API,不建议通过APIKey签名方式,这样可以有效避免web等程序上暴露自己的API Secrret
STS的服务器URL如下,必须使用https接入访问点。
中国1区: https://uac.easyar.com
认证¶
是
请求参数:¶
字段名 |
类型 |
必须 |
描述 |
---|---|---|---|
apikey |
base64编码字符串 |
是 |
从官网开发者中心获取,32位apiKey |
expires |
整数型 |
是 |
生成Security Token的有效时间, 单位为秒 |
acl |
字符串 |
否 |
参数是各个服务控制结构的数组。用于在apiKey范围内临时控制更小范围权限。默认是apiKey范围所有权限 |
样例¶
POST /token/v2 HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
"apiKey": "Your APIKey",
"expires": 3600,
"timestamp": 1550469858000,
/* 实际acl为JSON.stringify以后字符串格式请求
"acl": [{
"service": "ecs:armap",
"effect": "Allow",
"resource": [
"Your spatialmap cloud ID"
],
"permission": ["READ"]
}],
*/
"signature": "6e71edb158...b206acf7eb"
}
返回说明:¶
acl: 字符串格式。由服务控制列表组成,每个服务控制内包括{service, effect, resource, permission} 组成。
service: 服务类型,暂时只支持spatialmap, 后续oc, ai/body, ai/hand, etc会陆续支持统一的apikey
resource: 具体服务空间UUID,例如spatialmap下开通一个spatial map 空间对应一个uuid
effect: 指定与该条acl配置项匹配的Request能否执行, 取值 Allow, Deny
permission: 权限取值(READ | WRITE)
返回
{
"result": {
"apiKey": "1ab2c85790aefd1eeeccf030211cf252",
"expires": 3600,
"token": "Prn3iSlG4...suoHg==",
"expiration": "2019-02-18T07:04:19.478Z"
},
"timestamp": 1550469858000,
"msg": "api key invalid",
"statusCode": 0
}
错误返回
{
"timestamp": 1550469858000,
"message": "api key invalid",
"statusCode": 4001011
}
返回说明:¶
token: 正确响应返回后,在后续业务请求的http请求头部,将token加入header {“Authorization”: "Prn3iSlG4...suoHg=="}。记得业务API请求参数时指定AppId, 即可直接认证通过。
expiration: Security Token的到期时间,有效期过后需要重新申请token