设备接入 IoTDA
设备接入 IoTDA
- 最新动态
- 功能总览
- 服务公告
- 计费说明
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 应用侧API参考
- 设备侧MQTT/MQTTS接口参考
- 设备侧HTTPS接口参考
- 设备侧LwM2M接口参考
- 安全隧道WebSocket接口参考
- 模组AT指令参考
- 修订记录
- SDK参考
- 场景代码示例
-
常见问题
- 热门问题
-
方案咨询
- 连接IoT平台的业务场景有哪些?
- 设备管理服务和设备接入服务合一后的差异点是什么?
- IAM子用户或子项目是否可以开通物联网平台服务?
- 物联网平台支持在华为云的哪些区域开通?
- 华为是否提供模组/硬件终端/应用软件等?
- IAM用户访问API提示没有权限?(是否区分版本?)
- 创建规则或者设置资源文件存储时候提示赋予Security Administrator权限
- 物联网平台设置默认资源空间的规则是什么?
- 设备接入服务如何获取设备数据?
- 物联网平台的资源空间和设备可以无限创建吗?
- 物联网平台支持批量注册设备吗?
- 物联网平台对应用侧和设备侧在开发或使用时有限制吗?
- 物联网平台支持的DTLS加密算法有哪些?
- 物联网平台支持二进制大小端模式切换吗?
- 什么是NB-IoT?
- 物联网平台支持的硬件架构和使用的相关组件有哪些?
- 如何获取平台接入地址?
- 设备集成相关问题
- 设备侧SDK相关问题
- 设备发放相关问题
- LWM2M/CoAP接入相关问题
- MQTT接入相关问题
- 泛协议接入相关问题
- 物模型相关问题
- 消息通信相关问题
- 订阅推送相关问题
- 编解码插件相关问题
- OTA升级相关问题
- 应用集成相关问题
- 实例管理相关问题
- 视频帮助
- 文档下载
- 通用参考
本文导读
链接复制成功!
设备连接鉴权
接口说明
IoT平台设备侧支持MQTT协议的connect消息接口,鉴权通过后建立设备与平台间的MQTT连接。
参数说明
设备通过MQTT协议的connect消息进行鉴权,对于构造ClientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。
- 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。
- 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。
connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。
参数 |
是否必选 |
类型 |
描述 |
---|---|---|---|
ClientId |
是 |
String |
参数解释: 一机一密的设备ClientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳,通过下划线“_”分隔。
取值范围: 长度不超过256。 |
UserName |
是 |
String |
参数解释: UserName在此处即为设备ID(device_id)。 取值范围: 长度不超过256。 |
Password |
是 |
String |
参数解释: Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值(secret为注册设备时平台返回的secret)。 当设备认证类型使用密钥认证接入(SECRET)需填写“Password”,X.509证书认证接入(CERTIFICATES)不需填写“Password”。 取值范围: 长度不超过256。 |
原生MQTT协议接入建链返回码
原生MQTT协议设备和平台建链时,常见返回码如下:
返回码 |
返回码描述 |
原因 |
---|---|---|
0x00 |
连接成功。 |
连接成功。 |
0x01 |
请求拒绝,协议版本错误。 |
服务器不支持客户端请求MQTT协议版本。 |
0x02 |
请求拒绝,无效的客户端标识符。 |
clientId不符合格式要求或者心跳时间间隔不满足平台要求。 |
0x03 |
请求拒绝,服务器不可用。 |
平台服务不可用。 |
0x04 |
请求拒绝,用户名或密码错误。 |
用户名或密码错误。 |
0x05 |
请求拒绝,没有授权。 |
客户端没有权限连接。 |
父主题: 设备侧MQTT/MQTTS接口参考