我需要能够获得已登录用户的群组成员身份,以便我可以验证他是否属于特定群组。但是我得到"没有足够的权限来完成操作。"使用Azure AD图形API客户端库的异常。
我是订阅的共同管理员,我创建了一个新的Azure AD应用程序,以针对默认目录进行身份验证,并配置" Permission to Other application"部分如下面的截图。
Azure AD Application Configuration
我能够获取已登录的用户详细信息,但是当我尝试调用MemberOf函数时,我得到了上述异常。请让我知道我在这里缺少什么。提前谢谢!
string objectId = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value; // object id of the signed in user
ActiveDirectoryClient client = AuthenticationHelper.GetActiveDirectoryClient();
IUser user = await client.Users.GetByObjectId(objectId).ExecuteAsync();
var userFetcher = (IUserFetcher)user; // able to fetch the signed in user
IPagedCollection<IDirectoryObject> pagedCollection = await userFetcher.MemberOf.ExecuteAsync(); // getting error here - "Insufficient privileges to complete the operation."
答案 0 :(得分:0)
这里的问题是我选择了个人范围之外的权限&#39; (以登录用户身份访问目录,读取目录数据)。
因此,它需要服务管理员同意与该目录关联的订阅。管理员登录应用程序并批准同意屏幕后,代码应停止提供不足的权限例外。