尝试为用户添加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();
答案 0 :(得分:0)
根据我的经验,我们可能会遇到两个问题。
首先,如果服务主体中有自定义角色,则要分配默认角色。
其次,如果我们之前已经为该人分配了默认角色。
请检查您是否处于这两种情况之一,如果您仍然遇到此问题,请与我们联系。