尝试使用Azure AD Graph API

时间:2016-08-04 20:41:42

标签: azure azure-active-directory azure-ad-graph-api

我需要能够获得已登录用户的群组成员身份,以便我可以验证他是否属于特定群组。但是我得到"没有足够的权限来完成操作。"使用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."               

1 个答案:

答案 0 :(得分:0)

这里的问题是我选择了个人范围之外的权限&#39; (以登录用户身份访问目录,读取目录数据)。

因此,它需要服务管理员同意与该目录关联的订阅。管理员登录应用程序并批准同意屏幕后,代码应停止提供不足的权限例外。