我想在 Angular 5 Web 应用程序中从 Azure Active Directory 查询应用程序角色和组声明。我想授予管理员对页面的特殊权限/访问权限。我在 Azure 中注册了一个 B2C 应用程序,在以下地址注册了一个 Microsoft 应用程序https://apps.dev.microsoft.com https://apps.dev.microsoft.com并尝试使用 MSAL.js 通过 Microsoft Graph 查询数据。
我使用 B2C Web 应用程序中的应用程序 ID 作为 clientID,获取令牌并调用端点”https://graph.microsoft.com/v1.0/users https://graph.microsoft.com/v1.0/users". 数据以数组形式返回,其中包含一个用户和我的信息。当我查询组时,我得到一个空数组。我的应用程序现在有多个测试用户和几个组。
看来我正在提取与 Azure 中的应用程序无关的数据。我是否在查询正确的数据源?我需要设置其他权限或范围吗?
我找到了一个post https://stackoverflow.com/questions/45885795/azure-ad-b2c-role-management其中包含有关团体索赔的有用信息。我尝试将其应用到我的 Angular 应用程序中,但 .NET 库似乎比 Angular 的库更充实。
更多信息:
这没有帮助,但我尝试注册一个 Active Directory 应用程序,创建两个 api(Microsoft Graph 和 Windows Azure Active Directory)并为两者设置所需的权限。我尝试在 MSAL.js 中使用该应用程序的应用程序 ID 和 Azure Graph Api 端点“https://graph.windows.net https://graph.windows.net“这是不成功的。我尝试过使用图形浏览器 https://developer.microsoft.com/en-us/graph/graph-explorer#但我最多能查询的是那个用户。
我重读了一遍本文 https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-graph-api-quickstart关于 Azure AD 图形 API 注意到,为了查询图形,您需要使用租户域本地且是管理员的用户 ID。当我创建并使用租户的管理员(来自该域)时,所有查询都有效。我还需要 Directory.Read 范围。我更详细地描述了这一点以及我遇到的其他一些障碍here https://stackoverflow.com/a/48930585/6569899.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)