设备接入 IOTDA-自定义模板示例:示例3

时间:2024-07-03 16:53:06

示例3

设备ID格式为:${productId}${nodeId}。

表3 鉴权参数

参数

说明

Client ID

固定格式:

${productId}${nodeId}
  • ${productId}:产品ID。
  • ${nodeId}: 设备标识码。

User Name

固定格式:

${productId}${nodeId};12010126;${connid};${expiry}
  • ${productId}: 产品ID。
  • ${nodeId}: 设备标识码。
  • ${connid}:一个随机字符串。
  • ${expiry}:Unix时间戳,单位秒。

Password

固定格式:

${token};hmacsha256
  • ${token}:以BASE64解码后的设备密码为密钥,对User Name字段进行hmacsha256算法加密后的值。

鉴权模板:

{
	"template_name": "template3",
	"description": "template3",
	"template_body": {
		"parameters": {
			"iotda::mqtt::client_id": {
				"type": "String"
			},
			"iotda::mqtt::username": {
				"type": "String"
			},
			"iotda::device::secret": {
				"type": "String"
			}
		},
		"resources": {
			"device_id": {
				"Ref": "iotda::mqtt::client_id"
			},
			"timestamp": {
				"type": "UNIX",
				"value": {
					"Fn::ParseLong": {
						"Fn::SplitSelect": ["${iotda::mqtt::username}", ";", 3]
					}
				}
			},
			"password": {
				"Fn::Sub": [
					"${token};hmacsha256",
					{
						"token": {
							"Fn::HmacSHA256": [
								"${iotda::mqtt::username}",
								{
									"Fn::Base64Decode": "${iotda::device::secret}"
								}
							]
						}
					}
				]
			}
		}
	}
}
support.huaweicloud.com/usermanual-iothub/iot_01_0235.html