设备接入 IOTDA-HTTPS协议接入:设备鉴权接口说明

时间:2024-07-30 14:22:53

设备鉴权接口说明

设备鉴权接口鉴权通过后才能建立设备与平台间的业务处理连接。鉴权成功后平台返回access_token,调用属性上报、消息上报等其他接口时,都需要携带access_token信息。如果access_token超期,需要重新认证设备获取access_token。如果access_token未超期重复获取access_token,原access_token在未超期前保留30s,30s之后失效。

请求方法

POST

URI

/v5/device-auth

传输协议

HTTPS

名称

必选

类型

位置

说明

device_id

String

Body

参数说明: 设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由 物联网平台 分配获得。由物联网平台分配时,生成规则为"product_id" + "_" + "node_id"拼接而成。

取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

取值范围: 长度1-128

sign_type

Integer

Body

参数说明: 密码校验方式: 0 代表HMA CS HA256校验时间戳时不会校验消息时间戳与平台时间是否一致,仅判断密码是否正确; 1 代表HMACSHA256校验时间戳时会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。

取值范围: 大小0~1

timestamp

String

Body

参数说明: 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。

取值范围: 固定长度10

password

String

Body

参数说明: password的值为使用“HMACSHA256”算法对secret进行签名后的密钥(以时间戳为key,对平台返回的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" : "********",
  "sign_type" : 0,
  "timestamp" : "2019120219",
  "password" : "********"
}

响应示例如下:

Status Code: 200 OK

Content-Type: application/json

{
  "access_token" : "********",
  "expires_in" : 86399
}

HTTP状态码

HTTP状态码描述

错误码

错误码描述

错误码中文描述

200

OK

-

-

-

400

Bad Request

IOTDA.000006

Invalid input data.

请求参数不合法

401

Unauthorized

IOTDA.000002

Authentication failed.

鉴权失败

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.

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

support.huaweicloud.com/usermanual-iothub/iot_01_00129.html