AAD缺少权限

时间:2016-10-13 15:07:46

标签: c# asp.net azure azure-active-directory

目前正致力于将较旧的内部公司站点部署到Azure AD,最后的障碍是用AAD替换LDAP集成(使用ActiveDirectoryClient类)。

以下代码适用于将替换旧网站的新网站,但在旧网站中失败:

ActiveDirectoryClient adClient = General.GetADClient();
User currentUser = adClient.Users.Where(u => u.UserPrincipalName == Page.User.Identity.Name).ExecuteSingleAsync().Result as User;

...产生以下错误:

{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}}

据我所知,两个网络应用都有相同的设置。 AAD应用程序注册中的应用程序表现也同样相同。

所以我的具体问题是:有人知道我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

帖子中的代码是使用Azure AD Graph REST过滤Azure AD用户集合。要查询使用集合,如果您使用的是委派权限,我们可以向应用授予Users.ReadBasic.All权限。

为了缩小此问题,我们还可以使用Fiddler跟踪请求,然后解析令牌here以查看是否有足够的权限。有关Azure AD Graph的权限和范围的更多详细信息,请参阅here

如果您仍有问题,请将有效负载数据发布到令牌中。