而不是SDK AM直接调用Azure IoT配置REST API注册设备,然后进行注册。
注册对REST API的呼叫正常工作,但注册呼叫失败与错误
"需要授权,使用提供的密钥来重新发送请求"
- 给我 Keyname和AuthenticationKey 在错误响应中。
我使用Fiddler拦截了SDK如何拨打登录电话,并指出SDK首先获得401,然后重新发行了另一个成功的请求。
目前正在基于共享keyname和Azure DPS的主键生成SAS令牌。
我有Windows应用程序,该应用将调用此WebAPI以注册 在一个呼叫中注册该设备。我将tpmendoresmentkey,corepentkey的registrationId传递给API。此API在内部进行了2个httpclient呼叫,请访问Azure REST API:
- 将设备作为个人注册。
- 注册设备
请帮助理解它的任何想法或指示。
我尝试注册TPM设备时可以重现此行为。投资源代码来处理TPM设备寄存器后,根据我的选择,这是设计的功能。您可以在下面引用链接以查看SDK检查响应并通过响应通过密钥返回生成SAS令牌:
tpmdelegatinghandler#l27l64
我建议您使用Azuire Iot设备配置服务SDK,因为它对开发人员来说是真正的修道院。如果您只能使用其余的,则可以在上面的链接中引用代码以生成SAS令牌并使用该令牌发送寄存器设备重试请求。