【问题标题】:Azure Active Directory B2C - Query Graph - Insufficient PrivilegesAzure Active Directory B2C - 查询图 - 权限不足
【发布时间】:2016-11-07 21:33:42
【问题描述】:

所以我正在尝试将 mvc 应用程序连接到 AAD B2C,并检索当前用户组,以便将它们添加到他们的角色中。很遗憾,我无法成功查询图表。

Insufficient privileges error when trying to access Azure Graph APIs

上面的链接本质上是我所处的情况,除了我正在连接到 B2C 目录。据我所知,我无法按照问题答案的建议指定特权。有一个“密钥”部分,但它生成的密钥与常规 AD 应用生成的密钥完全不同。

当我尝试使用密钥时,我只是得到了权限不足的错误。

我还尝试在主要的常规 AD 中定位我的应用程序,并添加密钥和所有权限,但我也遇到了同样的错误(而且我似乎没有任何方法可以确定我什至靠近)

更令人困惑的是,有多种方法可以访问 Azure 门户中已注册的“应用程序”。我可以通过 B2C 设置或常规 AD 设置进入。在 B2C 方面,我可以生成密钥(但正如我所说,它们与在 AD 方面生成的密钥完全不同),但我不能对特权做任何事情......不存在任何选项。在 AD 方面,我实际上为我的 1 个 B2C 应用程序看到了两个应用程序......看起来有一个与 B2C 应用程序具有相同的 ID(但使用该密钥和权限没有任何作用),还有另一个,它也没有我发现它似乎没有任何有用的品质。

我没有想法。我还能尝试什么?

编辑

我做了更多的实验,发现如果我使用了不正确的 ID 或 Secret,我会收到相应的错误消息。因此,由此我假设我正在“验证”正确。问题似乎是,如错误消息所示,我的 Key 没有足够的权限。

为此,我在“Windows Azure Active Directory”和“Microsoft Graph”下都添加了每一个可用权限...没有任何改进,我仍然无法获得所需的权限。我想我会添加所有可用的权限,看看是否有帮助。

-- 不,还有 NO 剩余权限要添加,但我仍然收到权限不足的错误消息。

此外,让登录用户成为 AD 管理员并没有任何区别。

【问题讨论】:

    标签: asp.net-mvc azure azure-ad-b2c


    【解决方案1】:

    您的流程中可能缺少所谓的管理员同意。基本上,仅使用门户授予权限(那些标记为“需要管理员”的权限)是不够的,而且具有管理员权限的用户也应该同意该授予。棘手的是,当管理员用户登录时,不会自动显示此同意(就像普通用户同意时一样)。您必须将prompt=admin_consent 参数添加到您输入凭据的页面的url,按回车键,然后登录。在这种情况下,您将看到管理员同意,询问您是否要授予权限。 您可以在此处阅读有关管理员同意的更多信息:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-devhowto-multi-tenant-overview#understanding-user-and-admin-consent

    我也在这里讨论这个问题:https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/issues/38#issuecomment-264664883

    【讨论】:

    • 感谢您的回复。从这里看起来很合理。不幸的是,我可能无法对其进行测试,因为我们的项目已经改变了一点(部分是为了解决这个问题,但也因为 b2c 不会做嵌套组,这是我们的一个功能取决于)
    猜你喜欢
    • 2017-03-11
    • 2023-03-25
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多