AAD 图 API 权限问题

AAD Graph API Permission Issues

我真的希望有人能帮助我解决一些我无法处理的权限问题。 我目前正在开发具有 Azure Active Directory 访问权限的 Web 应用程序。到目前为止一切正常。 比起我尝试实现从组到角色的转换,这在一些测试中运行良好。 但是现在 - 在不更改任何权限的情况下,我总是收到:

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

有时这是 requestIddate 有时不是。

触发此权限问题的代码是:

var adClient = Instance.GetADClient(tenantID, signedInUserID, userObjectID);
var pagedCollection = await adClient.Users.GetByObjectId(userObjectID).MemberOf.ExecuteAsync();

如果我尝试使用

,也会发生同样的情况

GetMemberGroupsAsync()

所以无论是哪种类型,检索成员似乎都是权限问题。

有人知道我遗漏了什么或我如何进一步调试它吗?

非常非常感谢任何想法!

汤姆

此错误意味着您没有请求或同意授予您的应用程序访问这些 API 的权限。

当您注册您的应用程序时,您必须定义您的应用程序想要对其调用的 API 的权限。在这种情况下,如果您要调用 AAD 图 API,则必须请求某些范围,您可以找到 here.

一旦您为需要调用的 API 选择了适当的范围,您需要确保同意您的应用程序,这最终允许您的应用程序实际执行它请求访问权限的事情.

请注意,某些范围特别需要租户的管理员同意。

如果您要调试与权限相关的问题,一个好的起点是解码您的访问令牌,并查看 scp 声明,其中包含已授予您的应用程序的范围.我通常使用 this site 来解码访问令牌。

如果您在令牌中看到您尝试进行的 API 调用的正确范围,那么您应该可以开始了!让我知道这是否有帮助。

感谢 Shawn Tabrizi,我找到了错误源。 当心,如果你有这样的问题,你点击

Grant Permissions

修改 Azure AD 应用权限后。可能很多像我这样的人只是在监督。

Shawn 提供的图片如下:

再次感谢肖恩的帮助!