使用 AAD 用户标识访问 Azure Sphere 公共 API
重要
这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。
如果需要实现客户 Azure Active Directory (AAD) 租户中用户可以访问的 Web 应用程序或控制台应用程序,可以使用此身份验证方法。
客户端应用程序注册是可用于对令牌进行身份验证和获取令牌的应用程序的 Azure Active Directory 表示形式。 服务客户端旨在供应用程序用来获取访问令牌,而无需用户进行交互式身份验证。 服务客户端拥有特定的应用程序权限,在获取访问令牌时使用应用程序机密(密码)。
先决条件
- Azure Active Directory 租户(租户 ID)。
- Azure Sphere 租户。
- 在 Azure Sphere 租户中具有所需权限的用户。
- 将 Azure Sphere 公共 API 应用程序 ID 添加到 Azure 租户。
步骤 1:注册客户端应用程序
- 在 Azure 门户的左侧导航窗格中,单击“Azure Active Directory”。
- 在“Azure Active Directory”边栏选项卡中,单击应用注册。
- 单击“新建注册”。
- 指定应用程序的显示名称。
步骤 2:设置身份验证
- 在 Azure 门户的左侧导航窗格中,单击“Azure Active Directory”。
- 在应用注册中,选择应用,然后选择“身份验证”。
- 根据应用程序的要求设置应用程序。
步骤 3:添加 API 权限
- 选择“API 权限”并单击“添加权限”。
- 在组织使用的 API 下,搜索 Azure Sphere 公共 API。 Azure Sphere 公共 API 的应用程序 ID 为 7c209960-a417-423c-b2e3-9251907e63fe。
- 选择 Azure Sphere Public。
- 选择 azuresphere.readwrite ,然后单击“ 添加权限”。
步骤 4:配置应用程序
IPublicClientApplication publicClientApplication =
PublicClientApplicationBuilder.Create("<<App registration Client ID>>")
.WithRedirectUri("https://login.microsoftonline.com/common/oauth2/nativeclient")
.WithAuthority(AzureCloudInstance.AzurePublic, "<<3rd Party Tenant Id>>")
.Build();
string[] scopes = new[] { "https://firstparty.sphere.azure.net/api/azuresphere.readwrite" };
AuthenticationResult result = await publicClientApplication.AcquireTokenInteractive(scopes).ExecuteAsync();
string accessToken=result.AccessToken;