更新时间:2024-05-29 GMT+08:00

重置设备密钥

功能介绍

应用服务器可调用此接口重置设备密钥,携带指定密钥时平台将设备密钥重置为指定的密钥,不携带密钥时平台将自动生成一个新的随机密钥返回。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v5/iot/{project_id}/devices/{device_id}/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数说明:项目ID。获取方法请参见 获取项目ID

device_id

String

参数说明:设备ID,用于唯一标识一个设备。在注册设备时直接指定,或者由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。

表2 Query参数

参数

是否必选

参数类型

描述

action_id

String

参数说明:对设备执行的操作。 取值范围

  • resetSecret: 重置密钥。注意:NB设备密钥由于协议特殊性,只支持十六进制密钥接入。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

Instance-Id

String

参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情

表4 请求Body参数

参数

是否必选

参数类型

描述

secret

String

参数说明:设备密钥,设置该字段时平台将设备密钥重置为指定值,若不设置则由平台自动生成。 取值范围:长度不低于8不超过32,只允许字母、数字、下划线(_)、连接符(-)的组合。

最小长度:8

最大长度:32

force_disconnect

Boolean

参数说明:是否强制断开设备的连接,当前仅限长连接。默认值false。

缺省值:false

secret_type

String

参数说明:重置设备密钥的的类型。 取值范围

  • PRIMARY:重置主密钥。设备密钥鉴权优先使用的密钥,当设备接入物联网平台时,平台将优先使用主密钥进行校验。

  • SECONDARY:重置辅密钥。设备的备用密钥,当主密钥校验不通过时,会启用辅密钥校验,辅密钥与主密钥有相同的效力;辅密钥对coap协议接入的设备不生效。

缺省值:PRIMARY

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

device_id

String

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

最大长度:256

secret

String

设备密钥。

最小长度:8

最大长度:32

secret_type

String

参数说明:重置设备密钥的的类型。 取值范围

  • PRIMARY:重置主密钥。设备密钥鉴权优先使用的密钥,当设备接入物联网平台时,平台将优先使用主密钥进行校验。

  • SECONDARY:重置辅密钥。设备的备用密钥,当主密钥校验不通过时,会启用辅密钥校验,辅密钥与主密钥有相同的效力;辅密钥对coap协议接入的设备不生效。

缺省值:PRIMARY

请求示例

重置指定设备的密钥,新密钥为3b93****dc3c,不强制设备重新建链。

POST https://{endpoint}/v5/iot/{project_id}/devices/{device_id}/action?action_id=resetSecret

{
  "secret" : "3b93****dc3c",
  "force_disconnect" : false
}

响应示例

状态码: 200

OK

{
  "device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
  "secret" : "3b93****dc3c"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码