Azure AD不返回声明上的组



我有一个在Azure AD上注册的应用程序。该应用程序已配置为在Azure门户的"令牌配置"部分包含组声明。当我访问应用程序,按照AzureAD进行身份验证的过程,并访问控制器端点时,我发现用户属性的声明没有组。相反,我得到了一个属性hasgroups,用true定义。

我被分配到89个组,我不知道组的数量是否有任何限制,因此Azure更改了声明(相反,每个组一个,它会发出一个带有我告诉你的布尔值的声明(。

这种情况发生在组织租户身上。我已经在Azure上与我自己的租户进行了同样的测试,我正在获取组。但在我自己的租户中,我只被分配到两组。这就是我强调我在组织中所属小组数量的原因。

由于令牌的大小限制,可以返回的组数有限制。

您必须随时准备从MS Graph API查询用户组,例如:

  • 获取组成员:https://learn.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-1.0&tabs=http
  • 获取用户组:https://learn.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0&tabs=http
  • 检查用户的组访问权限:https://learn.microsoft.com/en-us/graph/api/user-checkmembergroups?view=graph-rest-1.0&tabs=http

如果获得hasgroups声明,则需要查询组。

最新更新