MQTT CONNECT连接鉴权
接口说明
物联网平台设备侧支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接。
物联网平台目前只支持MQTTS接入,设备通过connect消息接口跟平台建立MQTT连接时,需要携带TLS证书。TLS证书获取请在开发资源获取处获取Agent Lite目录下的TLS证书。
参数说明
参数 |
必选/可选 |
类型 |
描述 |
---|---|---|---|
clientId |
必选 |
String(256) |
一机一密的设备clientId由4个部分组成:deviceId、鉴权类型、密码签名类型、时间戳。通过下划线“_”分隔,其中“deviceId”的值,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。
|
Username |
必选 |
String(256) |
|
Password |
必选 |
String(256) |
Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值。 secret为注册设备时平台返回的secret。 |
设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,物联网平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。
- 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。
- 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。
connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。