gpt4 book ai didi

azure - 使用 Microsoft Graph 扩展 MemberOf 不会填充组

转载 作者:行者123 更新时间:2023-12-01 00:19:15 24 4
gpt4 key购买 nike

背景
目前,我正在致力于在我们自己的门户中实现 Azure Active Directory 用户管理,以便为我们不想在 Azure 门户中窥探的用户启用用户管理。我已经使用应用程序权限实现了它,因此我们可以让 Azure 管理员向这一特定应用程序授予权限。 RBAC 与我们应用程序中的用户角色一起确保只有授权用户才能使用该功能。

我们想要启用的功能之一是邀请用户加入我们的 Azure Active Directory 租户。我成功地实现了这一目标,一切看起来都很棒。下一步是实现用户概览及其分配的角色。

顺便说一下,这些是必需的(和授予的)权限:

  • 邀请访客用户加入组织
  • 阅读所有群组
  • 读取目录数据
  • 阅读所有用户的完整个人资料

问题
获取租户中的用户没有问题。获取用户列表的 MemberOf 信息不起作用。经过一番搜索后,我发现您的应用程序需要 Directory.Read.All 权限(List memberOf 上的文档)。我添加了权限,并满怀期待地测试了代码:什么都没有。 MemberOf 属性始终为 null

不起作用的场景:
为所有用户扩展 MemberOf:

var allUsers = await _graphClient.Users.Request().Expand(u => u.MemberOf).GetAsync();

为特定用户扩展 MemberOf:

var user = await _graphClient.Users[userId].Request().Expand(u => u.MemberOf).GetAsync();

有效的场景:
让所有组扩展成员:

var groupsWithMembers = await _graphClient.Groups.Request().Expand(g => g.Members).GetAsync();

获取特定用户的 MemberOf 信息:

var userGroups = await _graphClient.Users[userId].MemberOf.Request().GetAsync();

问题
简而言之:我在这里缺少什么?据我所知,我已经设置了应用程序所需的权限,并且我正在使用文档中的 SDK。鉴于扩展用户的 Members 属性确实有效,这一点应该是正确的。

有什么想法吗?

最佳答案

不幸的是,文档在该主题上有点模糊,但目前,/v1.0 端点不支持扩展 memberOf 属性。但是,它受到 /beta 端点的支持。

我的建议是切换到 /beta 进行此通话。通常指导是避免在生产中使用 Beta。 v1.0 和 Beta 实体之间通常存在细微的架构差异,并且此端点可以(并且确实)在没有警告的情况下接收重大更改。然而,在这种特定情况下,这不应该成为问题,因为您扩展了 v1.0 中已存在的属性(尽管当前不起作用)/

关于azure - 使用 Microsoft Graph 扩展 MemberOf 不会填充组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com