具有客户端凭据流的应用程序拒绝访问

时间:2018-11-07 14:50:35

标签: c# azure-active-directory microsoft-graph

我们已经在AAD中建立了一个应用程序。

已授予该应用程序读取/写入所有消息/邮件和“读取用户个人资料”的权限,并且全局管理员已按下门户中的“授予权限”按钮。 在尝试访问

时,仍然出现Access denied错误
https://graph.microsoft.com/v1.0/users/{myId}/MailFolders/Inbox/ChildFolders 

作为我的用户ID(myId)。当我以自己的用户身份登录时,该URL在图形浏览器中工作正常。

此外,在jwt.io解码JWT会显示应用程序ID,名称和“ aud”(https://graph.microsoft.com)-但没有角色/作用域。

我们做错了什么?

2 个答案:

答案 0 :(得分:0)

这些是委派的权限...因此,您将需要一个具有相同权限的用户,并在您的应用授权流中使用该用户的凭据。

The effective rights are the intersection of the user rights and and the rigths of the app

“有效权限是您的应用向API发出请求时所拥有的权限。

  • 对于委派权限,您的应用程序的有效权限将是已被授予(通过同意)应用程序的委派权限与当前登录用户的特权之间的最小特权。您的应用程序所拥有的特权永远不能超过已登录用户。”

用户还需要获得在AAD中使用该应用程序的权限。

如果这不是委派的权限,则可能需要某些全局管理员为所有用户授予同意。 “主题管理员”只能“请求”该应用程序的权限,而全局管理员可以同意所有用户。

enter image description here

答案 1 :(得分:0)

好,所以我向Microsoft支持提交了一张票。我尚未收到任何回复,但现在一切正常。我不知道为什么,但是当我今天早上提交故障单时,警告显示最近已修复Azure AD的故障,因此也许这就是昨天事情不起作用的原因。