首页 > 解决方案 > Azure AD:通过 AAD 在 jwt 令牌中缺少角色声明

问题描述

使用 AzureAD 进行身份验证时,我无法获取角色声明。

使用 quay.io/oauth2-proxy

标签: azure-active-directorykubernetes-helmquay.iooauth2-proxy

解决方案


• 请检查您使用的镜像版本 quay.io/oauth2-proxy 是否为 v6.1.1,因为此镜像版本存在一个关于 oidc 组声明的已知问题,该问题不在列表中。此外,目前,如果将服务主体添加到组,然后将应用角色分配给该组,Azure AD 不会将角色声明添加到它发出的令牌中。

• 因此,还请检查具有多个映射属性的应用程序清单,包括应用程序角色以及在应用程序注册(旧版)与正常应用程序注册中输入的任何不受支持的属性,因为一些关键属性似乎在新的应用程序注册平台中已修改,例如对于应用角色,它将是 'collection' 类型,而对于 'groupmembershipclaims' 属性,它是字符串类型。

• 此外,如果您为声明分配定义了任何自定义角色,请在应用清单中检查用户声明的自定义角色,如下所示:-

   {
      "roles": ["{custom_role}"]
   }

请找到以下链接以获取更多信息:-

在 Azure AD 安全的 Web Api 中访问角色声明

https://github.com/oauth2-proxy/oauth2-proxy


推荐阅读