Azure 如何在javascript中通过客户端ID获取服务主体

Azure 如何在javascript中通过客户端ID获取服务主体,azure,Azure,我已经在azure portal中注册了一个应用程序,我需要使用javascript应用程序中注册的应用程序Id获取服务主体Id。但是我找不到做这项工作的API。我尝试使用azure graph api,但ServicePrincipals接口的list函数需要特殊权限,这不适用。是否有任何简单的方法可以通过应用程序ID和密码获取服务主体?如果您在租户中创建此应用程序,Azure应用程序客户端ID与服务主体ID相同。对于多租户应用程序,将创建更多主体,因为应用程序与服务主体对象的关系为1:man

我已经在azure portal中注册了一个应用程序,我需要使用javascript应用程序中注册的应用程序Id获取服务主体Id。但是我找不到做这项工作的API。我尝试使用azure graph api,但ServicePrincipals接口的list函数需要特殊权限,这不适用。是否有任何简单的方法可以通过应用程序ID和密码获取服务主体?

如果您在租户中创建此应用程序,Azure应用程序客户端ID与服务主体ID相同。对于多租户应用程序,将创建更多主体,因为应用程序与服务主体对象的关系为1:many,但它们也将具有相同的ID

使用CLI显示azure ad应用程序

az ad app show --id "" 
az ad sp show --id "" 
使用CLI显示azure ad服务主体

az ad app show --id "" 
az ad sp show --id "" 

请阅读此处的详细信息

服务主体id与应用程序id不同:。commdnd az广告应用程序展示-id为展示应用程序。对于服务主体,您应该使用命令az ad sp show-idapp和sp上的appId属性始终相同,无论它是否为单租户。SP的objectId始终是唯一的id,与应用程序对象的objectId分开。objectId在注册应用程序的每个租户中也不同。