2017-10-21 96 views
0

我正在尝试添加AppRoleAssignment为用户时出现错误:Azure的AD图形API ApproleAssignment不允许零GUID

{ “odata.error”:{ “代码”: “Request_BadRequest”,” “date”:“2017-10-21T14:49:42”,“requestId”:“3aacf13e-1”,“value”:“ 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(); 

回答

0

根据我的经验,有两种情况,我们可能会得到这个问题。

首先,如果在服务主体中存在想要分配默认角色的自定义角色。

其次,如果我们已经将默认角色分配给那个人之前。

请检查您是否处于这两种情况之一,并让我知道你是否仍然有这个问题的问题。