没有用户交互就无法访问Azure Digital Twin API

问题描述

我参考了这些答案,但是如果没有浏览器交互,我将无法对Azure Digital Twins进行身份验证。

  1. How to access azure digital twin API using Service Principal?

  2. Is it possible to configure Azure Digital Twins API access for a Daemon App?

解决方法

这两个问题都涉及刷新之前的Azure Digital Twins预览。无需浏览器身份验证即可访问Azure Digital Twins。您将需要Azure.Identity软件包。我使用的是1.2.2版本

var credential =
    new ClientSecretCredential("{AZURE_TENANT_ID},"{AZURE_CLIENT_ID}","{AZURE_CLIENT_SECRET}");
var client = new DigitalTwinsClient(new Uri("{AZURE_DIGITAL_TWINS_URL}"),credential);

您需要将值替换为

  1. 您的Azure AD租户ID。
  2. 您在Azure AD中创建的应用程序注册的客户端应用程序ID。
  3. 一个客户机密,您需要在证书和秘密刀片中的应用程序注册中创建此机密。
  4. 您的Azure Digital Twins实例的URL。