Azure active directory getMemberGroups调用失败,权限不足

Azure active directory getMemberGroups调用失败,权限不足,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我正在尝试获取用户的组成员身份(可传递),并使用MicrosoftGraph。我曾在令牌中使用组声明,但在切换到AD v2.0端点(用于动态同意支持等)后,令牌不包含这些声明,因此需要从AD单独检索它们 该操作正是这样做的,但如果不授予Directory.Read.All权限,我很难让它正常工作。文件中说,其中任何一项都应该有效: User.Read和Group.Read.All User.ReadBasic.All和Group.Read.All Directory.Read.All Dire

我正在尝试获取用户的组成员身份(可传递),并使用MicrosoftGraph。我曾在令牌中使用组声明,但在切换到AD v2.0端点(用于动态同意支持等)后,令牌不包含这些声明,因此需要从AD单独检索它们

该操作正是这样做的,但如果不授予
Directory.Read.All
权限,我很难让它正常工作。文件中说,其中任何一项都应该有效:

  • User.Read
    Group.Read.All
  • User.ReadBasic.All
    Group.Read.All
  • Directory.Read.All
  • Directory.ReadWrite.All
  • Directory.AccessAsUser.All
然而,对于用户对Microsoft Graph的代表访问令牌,请求总是失败,响应
403禁止
,错误代码
授权\u请求被拒绝

Http请求

POST/v1.0/me/getMemberGroups HTTP/1.1
主持人:graph.microsoft.com
授权:持票人
内容类型:application/json
缓存控制:没有缓存
邮递员代币:dbb2ead3-9863-57ef-af09-d45c3ab88e69
{
“securityEnabledOnly”:false
}
我实际上是在使用.NETSDK来执行操作,但是可以用纯HTTP请求重新编程,这一点更清楚

从访问令牌内部看,这包括
Group.Read.All
User.Read.All
,这应该是一个足够的组合

{
“澳元”:https://graph.microsoft.com",  
[....]
“scp”:“Group.Read.All User.Read User.Read.All”
}
当前用户是相关广告租户的全局管理员,因此我认为这也不应该是他对广告项目拥有较少权限的问题。我已使用v2.0端点对此应用程序进行了管理同意(使用此管理用户AFAIK时这并不重要)

该函数只需要
Group.Read.All
,在您的情况下(对于
。/me/getMemberGroups
user.Read
。但是,由于授权检查中的错误,这当前需要
Directory.Read.All
(这是您观察到的)。很抱歉,我没有此修复的预计到达时间,但当我听到更多消息时,我会向您报告


希望这有帮助,

我认为这不重要,但以防万一,使用
/v1.0/users/{userPrincipalName}/getMemberGroups
有效吗?只是确认一下,因为文档中没有列出
/me
@marclafler-nope,所以也尝试了一下。另外,
/v1.0/me/getMemberGroups
端点可以很好地使用
目录.Read.All
权限。该操作的页面上没有记录别名,但在中提到了。谢谢。你知道这需要几个星期还是几个月吗?同时,我认为,如果除了这个问题之外,还有其他一些关于这个问题的说明,那就好了。例如,Github问题可能很完美,但是如果修复需要一段时间,那么对文档的评论也会很有用。在任何情况下,我都会将此标记为问题本身已解决的答案。我们在函数中遇到了相同的问题。是的-相同的问题适用于此。我们可以更新文档,直到修复完成。这个错误修复了吗?我仍然看到这个问题,你能提供更新吗?