设备鉴权
接口说明
设备鉴权接口,鉴权通过后建立设备与平台间才能处理业务连接。鉴权成功后平台返回access_token。调用属性上报、消息上报等其他接口时,都需要携带access_token信息。如果access_token超期,需要重新认证设备获取access_token。如果access_token未超期重复获取access_token,原access_token在未超期前保留30s,30s之后失效。
URI
请求方法 |
POST |
---|---|
URI |
/v5/device-auth |
传输协议 |
HTTPS |
请求参数
名称 |
必选 |
类型 |
位置 |
说明 |
---|---|---|---|---|
device_id |
是 |
String |
Body |
参数解释: 设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。由物联网平台分配时,生成规则为"product_id" + "_" + "node_id"拼接而成。 取值范围: 长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
sign_type |
是 |
Integer |
Body |
参数解释: 密码校验方式: 0 代表HMACSHA256校验时间戳时不会校验消息时间戳与平台时间是否一致,仅判断密码是否正确; 1 代表HMACSHA256校验时间戳时会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 取值范围: 0或1。 |
timestamp |
是 |
String |
Body |
参数解释: 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。 取值范围: 固定长度10。 |
password |
是 |
String |
Body |
参数解释: password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值。secret为注册设备时平台返回的secret。 取值范围: 固定长度64。 |
响应参数
名称 |
类型 |
说明 |
---|---|---|
access_token |
String |
参数解释: 设备token,用于设备鉴权。 取值范围: 长度32-256。 |
expires_in |
Integer |
参数解释: 鉴权信息的剩余有效时间, 单位:秒。 |
请求示例
POST https://{endpoint}/v5/device-auth Content-Type: application/json { "device_id" : "60a87ffebaccd902c2f1abbb_0001", "sign_type" : 0, "timestamp" : "2019120219", "password" : "******" }
响应示例
Status Code: 200 OK
Content-Type: application/json { "access_token" : "******", "expires_in" : 86399 }
错误码
HTTP状态码 |
HTTP状态码描述 |
错误码 |
错误码描述 |
错误码中文描述 |
---|---|---|---|---|
400 |
Bad Request |
IOTDA.000006 |
Invalid input data. |
请求参数不合法 |
401 |
Unauthorized |
IOTDA.000002 |
The request is unauthorized. |
鉴权失败 |
403 |
Forbidden |
IOTDA.021101 |
Request reached the maximum rate limit. |
请求已经达到限制速率 |
IOTDA.021102 |
The request rate has reached the upper limit of the tenant, limit %s. |
请求已经达到租户的限制速率 |