Azure AD Graph API ApproleAssignment不允许零GUID

时间:2017-10-21 15:00:28

标签: azure-ad-graph-api

尝试为用户添加AppRoleAssignment时收到错误:

  

{“odata.error”:{“code”:“Request_BadRequest”,“message”:{“lang”:“en”,“value”:“一个或多个属性无效。”},“date” : “2017-10-21T14:49:42”, “的requestId”: “3aacf13e-5620-40da-8fd0-fb2d4130f171”, “值”:空}}

当我使用实际的ApproleId时,一切正常。但是,当我设置

AppRoleAssignment.Id = new Guid();我收到上述错误;

这没有意义,因为文档说这是允许的 通过设置零GUID并在SO上的其他帖子中强调了相同的内容。

我在这里缺少什么?

完整代码:

    AppRoleAssignment appRoleAssignment = new AppRoleAssignment()
    {

        Id = new Guid(),
        ResourceId = Guid.Parse(servicePrincipal.ObjectId),
        PrincipalId = Guid.Parse(user.ObjectId),
        PrincipalType = "User"
    };
    user.AppRoleAssignments.Add(appRoleAssignment);

    await user.UpdateAsync();

1 个答案:

答案 0 :(得分:0)

根据我的经验,我们可能会遇到两个问题。

首先,如果服务主体中有自定义角色,则要分配默认角色。

其次,如果我们之前已经为该人分配了默认角色。

请检查您是否处于这两种情况之一,如果您仍然遇到此问题,请与我们联系。