AAD缺乏权限



目前正在将一个较旧的公司内部站点部署到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."}}}

据我所知,这两个web应用程序有几乎相同的设置。AAD应用程序注册中的应用程序清单也类似相同。

所以我的问题是:有人知道我在这里可能错过了什么吗?

文章中的代码正在使用Azure AD Graph REST过滤Azure AD用户集合。要查询uses collection,如果您使用的是委托权限,我们可以将Users.ReadBasic.All权限授予应用程序。

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

如果您仍然有问题,请在令牌中发布有效载荷数据

相关内容

  • 没有找到相关文章

最新更新