从多租户应用程序查询租户的Azure AD

3
我们有一个多租户Saas应用程序,提供使用我们的用户名/密码身份验证系统和使用Azure AD(OAuth 2.0流)进行登录。当用户使用Azure AD登录时,我们可以使用https://graph.windows.net/{tenantid}/me获取用户的个人资料。但是,我们想要使用memberOf或getMemberGroups操作获取更多信息,以检索租户目录中的用户组,将特定组从租户映射到我们应用程序的组织结构。但是,这些操作始终失败,状态码为Forbidden。我们是缺少必需的权限还是不可能查询另一个租户的组和角色?
谢谢。

1
你是否曾经得到你的问题的答案?我也需要在这个领域得到帮助。需要获取memberOf或确定用户的角色。 - user332951
2
@user332951。我们终于让它工作了,为租户添加了一个引导页面,以便管理员同意查询额外信息,如组。有关更多信息,请参阅 github 上的 Azure AD 示例。 - Stefan
1个回答

2
这是完全可能的,但今天需要您请求“读取目录”权限。此权限需要租户管理员同意。我们正在考虑为Graph API添加一些额外的细粒度权限,以允许用户同意(获取组成员信息)。
另一个选项是配置你的应用程序来请求组成员身份声明(这些应该出现在任何用户或JWT令牌中)。你可以通过访问Azure管理门户并进入应用程序的配置页面来实现这一点。从那里下载应用程序清单文件并更新groupMembershipClaims属性。你可以在这里看到应用程序清单中的大多数属性的描述:https://msdn.microsoft.com/en-us/library/azure/dn151677.aspx。更新后,你可以上传此应用程序清单文件,这将相应地配置你的应用程序。完成后,AAD将在令牌中发布组成员身份声明。Dushyant已经写了一篇关于使用组成员身份声明或应用程序角色授权访问Web应用程序的好文章。你可以通过Alex Simons的博客文章找到它:http://blogs.technet.com/b/ad/archive/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles.aspx。希望有所帮助。

Alex Simon的文章已经移到了https://cloudblogs.microsoft.com/enterprisemobility/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles/。 - Johannes Brodwall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接