如何以编程方式将用户分配给AD B2C中的应用程序?

时间:2017-07-12 14:54:04

标签: azure azure-ad-b2c azure-ad-graph-api

我将以下结构的AppRoleAssignment发布到Graph API

{
    "id": "00000000-0000-0000-0000-000000000000",
    "principalId": "db243e99-61b3-4e42-9359-91ae9bffa715",
    "resourceId": "e4ea7e05-50e7-4f38-b546-bdb6e9b1d77a"
}

对于资源ID,我首先尝试了B2C门户网站显示的应用程序ID。如果找不到资源,则会失败并显示错误。我在该租户中获得了应用程序的对象ID,而是发布了,但仍然找不到错误资源。

具体错误是
"资源&e; e4ea7e05-50e7-4f38-b546-bdb6e9b1d77a'不存在或其查询的引用属性对象之一不存在。"

如何在B2C中将用户添加到应用程序?

1 个答案:

答案 0 :(得分:0)

来自文件:https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/entity-and-complex-type-reference#approleassignment-entity

resourceId是为其进行分配的目标资源(服务主体)的唯一标识符(objectId)。

您首先可以按应用程序ID查询服务主体对象ID:

remove-item

然后你可以分配一个用户(资源没有声明任何权限,必须指定默认id(零GUID)):

Get https://graph.windows.net/myorganization/servicePrincipalsByAppId/1062a13d-f7e5-4ea7-8d24-427f6ff1e5e1/objectId?api-version=1.6

但是如果你想限制访问如果没有将用户分配给应用程序,请参考@Saca中的reply,你需要自己实现,Azure AD B2C目前没有对应用程序分配的一流支持