繁体   English   中英

如何获取与经过身份验证的 Azure 服务主体关联的 ObjectID?

[英]How do I get the ObjectID associated with the authenticated Azure service principal?

我在 Azure AD 中创建了一个企业应用程序。 我用它来验证和创建资源:

AzureCredentials creds = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
    ClientId, ClientSecret, TenantId, AzureEnvironment.AzureGlobalCloud);

IAzure az = Azure.Authenticate(creds);

我不知道如何获取与我用来进行身份验证的企业应用程序关联的 ObjectId。 有办法吗?

您可以使用Microsoft Graph SDK来执行此操作,请参阅下面的示例,它调用 Microsoft Graph API - List servicePrincipals ,使用appIdClientId过滤。

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var servicePrincipals = await graphClient.ServicePrincipals
    .Request().Filter("appId eq '<ClientId here>'")
    .GetAsync();

使用代码时,选择您想要的authProvider ,并确保您有足够的权限调用API,它在我这边工作正常, Id是服务主体即企业应用程序的ObjectId

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM