Microsoft Graph - 权限不足 - 多租户应用程序
Microsoft Graph - Insufficient Privileges - Multitenant App
我在我的 Azure 租户 (TENANT A) 中注册了一个多租户应用程序。我正在尝试获取已登录该应用程序的租户的组和组成员。我在租户 A 的应用程序注册下设置了以下权限。
当我以 TENANT B 的管理员用户身份登录应用程序时,我必须同意权限并按预期登录。
我希望能够看到租户 B 的所有 groups/members。我不知道该怎么做。我已尝试按照 but am having no luck. I am performing a post to https://login.microsoftonline.com/*TENANT B*/oauth2/v2.0/token 的解释进行操作并获得响应
但是,当我使用响应令牌并调用图表 API https://graph.microsoft.com/v1.0/groups/*GROUP OBJECT ID*/members 时,它说我没有足够的权限。
如有任何帮助,我们将不胜感激
默认情况下,Azure AD 中的 Web app/API 注册是单租户的。您可以通过在 Azure 门户中的应用程序注册的 Authentication
窗格中找到 Supported account types
开关并将其设置为任何帐户中的帐户来注册 multi-tenant组织目录。 (见下图)
在应用程序可以成为多租户之前,Azure AD 要求应用程序的 App ID URI 是全局唯一的。 App ID URI 是在协议消息中识别应用程序的方式之一。对于单租户应用程序,App ID URI 在该租户内是唯一的就足够了。对于多租户应用程序,它必须是全局唯一的,以便 Azure AD 可以在所有租户中找到该应用程序。通过要求 App ID URI 具有与 Azure AD 租户的已验证域相匹配的主机名来强制实现全局唯一性。
您在租户 A 中创建了一个多租户应用程序,用于生成访问令牌和调用图 api 以获取所有组。当您创建应用程序并同意 api 权限时,它适用于租户 A,但不适用于租户 B,因为此应用程序尚未在租户 B 中注册并获得同意。您可以参考this section
并通过点击下面的 url 授予租户范围内的管理员同意。然后你可以在租户B的azure portal -> azure ad -> enterprise applications中查看这个app是否出现过,点击app -> permissions 看是否同意。
https://login.microsoftonline.com/{tenant_id_of_tenant_B}/adminconsent?client_id={app_client-id_in_tenant_A}
我在我的 Azure 租户 (TENANT A) 中注册了一个多租户应用程序。我正在尝试获取已登录该应用程序的租户的组和组成员。我在租户 A 的应用程序注册下设置了以下权限。
当我以 TENANT B 的管理员用户身份登录应用程序时,我必须同意权限并按预期登录。
我希望能够看到租户 B 的所有 groups/members。我不知道该怎么做。我已尝试按照
但是,当我使用响应令牌并调用图表 API https://graph.microsoft.com/v1.0/groups/*GROUP OBJECT ID*/members 时,它说我没有足够的权限。
如有任何帮助,我们将不胜感激
默认情况下,Azure AD 中的 Web app/API 注册是单租户的。您可以通过在 Azure 门户中的应用程序注册的 Authentication
窗格中找到 Supported account types
开关并将其设置为任何帐户中的帐户来注册 multi-tenant组织目录。 (见下图)
在应用程序可以成为多租户之前,Azure AD 要求应用程序的 App ID URI 是全局唯一的。 App ID URI 是在协议消息中识别应用程序的方式之一。对于单租户应用程序,App ID URI 在该租户内是唯一的就足够了。对于多租户应用程序,它必须是全局唯一的,以便 Azure AD 可以在所有租户中找到该应用程序。通过要求 App ID URI 具有与 Azure AD 租户的已验证域相匹配的主机名来强制实现全局唯一性。
您在租户 A 中创建了一个多租户应用程序,用于生成访问令牌和调用图 api 以获取所有组。当您创建应用程序并同意 api 权限时,它适用于租户 A,但不适用于租户 B,因为此应用程序尚未在租户 B 中注册并获得同意。您可以参考this section 并通过点击下面的 url 授予租户范围内的管理员同意。然后你可以在租户B的azure portal -> azure ad -> enterprise applications中查看这个app是否出现过,点击app -> permissions 看是否同意。
https://login.microsoftonline.com/{tenant_id_of_tenant_B}/adminconsent?client_id={app_client-id_in_tenant_A}