You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AzureAD自定义声明策略无法将MailNickName转大写写入JWT

故障根因

你的自定义策略不生效是3个配置错误共同导致的:

  • 字段类型不匹配:IncludeBasicClaimSet 字段在policy1中传的是JSON布尔值true,但Azure AD声明映射策略要求该字段必须为字符串类型的"true"/"false",类型不符会直接导致整个策略被引擎跳过、完全不加载。你可正常运行的policy2中该字段就是正确的字符串格式。
  • 转换输入参数名错误:ChangeCase转换方法要求输入声明的TransformationClaimType固定值为inputClaim,你配置的是inputClaim1(多了数字后缀1),转换逻辑无法匹配到输入值,直接执行失败。参考你正常运行的Join转换配置,其TransformationClaimType值string1完全匹配Join方法的官方参数定义,ChangeCase方法的输入参数没有数字后缀。
  • 同名声明冲突:你将转换后声明的JwtClaimType设为mailnickname,和作为输入源的原生用户属性ID重名,如果原生属性被标记为输出项,会触发同名冲突,转换后的声明会被引擎直接丢弃。
修正后的可用配置

将原policy1替换为以下内容即可,修正了上述所有问题:

$policy1 = @('{
    "ClaimsMappingPolicy":{
        "Version":  1,
        "IncludeBasicClaimSet":  "true",
        "ClaimsSchema":[
            {
                "Source":  "user",
                "ID":  "mailnickname"
            },   
            {
                "Source":"transformation",
                "ID":"testmailnickname",
                "TransformationId":"ChangeToUpper",
                "JwtClaimType":"mailnickname"
            }
        ],
        "ClaimsTransformations":[{
            "ID":"ChangeToUpper",
            "TransformationMethod":"ChangeCase",
            "InputClaims":[{
                "ClaimTypeReferenceId":"mailnickname",
                "TransformationClaimType":"inputClaim"
            }], 
            "InputParameters":[{
                "ID":"toCase",
                "DataType":"string",
                "Value":"UPPER"
            }],
            "OutputClaims":[{
                "ClaimTypeReferenceId":"testmailnickname",
                "TransformationClaimType":"outputClaim"
            }]
        }]
    }
}')
部署注意事项
  • 先执行Remove-AzureADServicePrincipalPolicy删除之前绑定到服务主体的旧错误策略,避免多策略叠加冲突
  • 用新配置创建策略并重新绑定到服务主体
  • 请求新令牌前务必清空客户端的令牌缓存,避免拿到缓存的旧令牌
  • 解码新颁发的JWT即可看到值为全大写格式的mailnickname声明

内容的提问来源于stack exchange,提问作者EvenThis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:09:27