Azure AD ID token 在 ID token 中返回重复的 AD 组

标签 azure azure-active-directory active-directory

我在我的应用程序上使用 Azure AD for IAM。用户加入到一个组(AD 组),并且从企业应用程序为该组分配了 azure 应用程序角色,azure 应用程序角色定义了该组的用户可以执行的功能。我希望 AD 组和 azure 应用程序角色都在 Id token 中返回,并且我能够获取它们,但我在其中获得了重复的组,并且该数量取决于分配给它的应用程序角色的数量,因为我的代币大小不必要地增加。

例如。我有一个应用程序管理员组,并且通过企业应用程序为其分配了 3 个应用程序角色。 PFB 示例 token

groups: [Application-Admin, Application-Admin, Application-Admin],
roles: [ABC, BCD, UDF]

我有几个问题

  1. 如何避免 ID token 中返回重复的组
  2. Azure AD 可以生成的 ID token 的大小有限制吗?

最佳答案

我能够在我的实验室中对此进行测试,并使其在不重复组名的情况下工作。这是“选择要包含在访问、ID 和 SAML token 中的组类型”参数导致组名称重复。

请尝试以下声明配置:

enter image description here

输出将显示 1 个组名称,并分配了 3 个角色:

enter image description here

对于与 token 大小相关的问题,JWT token 没有大小限制,但声明中最多可以包含 200 个组。 如果用户属于的组数超过超额限制(SAML token 为 150 个,JWT token 为 200 个),则 Azure AD 不会在 token 中发出组声明。相反,它在 token 中包含超额声明,指示应用程序查询 Microsoft Graph API 以检索用户的组成员身份。引用链接 https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens#groups-overage-claim

谢谢

关于Azure AD ID token 在 ID token 中返回重复的 AD 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73874776/

相关文章:

登录后使用 Azure AD B2C Graph API?

c# - 尝试连接到 Azure Web App 时出现授权错误

azure - 如何使用 Azure API v2 创建虚拟机

azure - 仅当在具有 azure 访问权限的 Windows 帐户上运行时,使用 ClientID 访问 Blob 存储才有效

c++ - 事件目录实现

c# - 在 .Net 3.5 中测试 "User Must Change Password"字段

Azure 服务身份验证扩展默认租户/订阅

azure - Azure cli 是否有类似于 aws s3 同步的同步命令?

c# - Xamarin UWP Release模式错误 - ILT005 返回退出代码 1

c# - Android 上的 Azure 通知中心。如何发送给特定用户?