如何确定登录用户是否是O365管理员,能够使用(prompt=admin_consent)

goo*_*ate 4 azure office365 azure-active-directory adal azure-ad-b2c

我想对最终用户隐藏管理门户/注册过程,并且如果用户不是管理员,还想防止出现此死胡同 GUI。(唯一可能的用户流程是回击几次......糟糕的用户体验)

AADSTS90093:此操作只能由管理员执行。注销并以管理员身份登录或联系您组织的管理员之一

在此输入图像描述

为了解决这个用户体验问题,我希望用户

  1. 首先以组织管理员身份登录
  2. 登录正确的帐户后,我会要求他们通过prompt=admin_consent属性提供同意

问题

我如何查看登录用户是否是某个组织的管理员,以及理想情况下的显示名称和 OrgID* 他们是其管理员。

**我相信可以成为多个 AzureB2C 或 Azure AD 目录的管理员。

Fei*_*SFT 5

要检查用户是否是该租户的管理员,我们可以使用 Azure AD Graph REST。我们可以使用下面的 REST 来获取用户分配的所有角色/组。

GET: https://graph.windows.net/adfei.onmicrosoft.com/me/memberOf?api-version=1.6
Run Code Online (Sandbox Code Playgroud)

如果用户被分配给租户的全局管理员,我们可以获得如下所示的响应,并且我们可以使用roleTemplateId带有 value 的属性来检查此角色62e90394-69f5-4237-9190-012177145e10在此输入图像描述