一、功能介绍
动态注册用于设备首次联网时获取设备级认证凭证,适用于批量生产过程中不便为每台设备分别写入设备密钥、设备证书或设备私钥的场景。
使用动态注册时,同一产品下的设备可以统一预置 ProductID 和 ProductSecret。每台设备还需要提供在当前产品下唯一的 DeviceName。
设备首次联网后,使用上述信息向平台发起动态注册请求。平台校验通过后,根据产品认证方式返回对应的设备级凭证。
注意:ProductSecret 是产品级凭证,仅用于动态注册,不能代替设备级凭证直接完成 MQTT 设备认证。
二、基本流程
动态注册流程参见下图:
动态注册和设备认证属于两个不同阶段:
1. 设备通过动态注册获取设备级凭证。
2. 设备保存凭证。
3. 设备使用获得的凭证建立 MQTT 连接。
4. 平台完成设备身份认证后,设备上线。
动态注册成功仅表示设备已经获得凭证,不代表设备已经上线。
三、实例支持差异
| 能力 | 消费实例 | 企业实例 |
| 为预创建设备动态获取 DeviceSecret | 支持 | 支持 |
| 根据注册请求自动创建设备 | 不支持 | 支持 |
| 动态获取设备证书和设备私钥 | 不支持 | 支持 |
消费实例使用动态注册前,需要提前创建设备。
企业实例支持根据动态注册请求自动创建设备,并返回对应的设备级凭证。
注意:说明:
注意:部分历史文档将消费实例称为公共实例。这篇统一使用当前控制台中的“消费实例”表述。
四、选择动态注册方式
平台根据产品认证方式返回不同的设备级凭证,了解不同认证方式详见 设备认证方式概览。
| 产品认证方式 | 动态注册结果 | 后续操作 | 动态注册文档 |
| 密钥认证 | DeviceSecret | 使用设备密钥完成 MQTT 认证 | 密钥认证动态注册 |
| 证书认证 | 设备证书和设备私钥 | 使用设备证书和私钥完成 MQTT 认证 | 证书认证动态注册 |
证书认证动态注册不会返回平台 CA 证书。设备建立 MQTT 连接前,还需要按照证书认证接入要求准备平台 CA 证书。