更新时间:2024-09-24 GMT+08:00

设备鉴权

接口说明

设备鉴权接口,鉴权通过后建立设备与平台间才能处理业务连接。鉴权成功后平台返回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.

请求已经达到租户的限制速率