Azure AD SAML从user.Displayname拆用户名传SkillJar的空格表达式配置问题
Azure AD SAML 拆分DisplayName属性的空格配置规则
核心填写方法
在Azure AD企业应用的声明转换配置里,不需要为“空格”做特殊转义或编码处理:
- 表示分隔空格的表达式值,直接输入被两个英文双引号包裹的1个半角空格即可,对应字面量内容为
" " - 这个场景下别用正则元字符、URL编码值这类常见的空白匹配写法(比如
\s、%20),Azure AD的内置声明转换语法不识别这类非字面量的表达式,填了也不会生效。
匹配业务需求的完整配置参考
你需要分别配置givenName、surname两个自定义SAML声明,所有拆分逻辑都基于user.DisplayName属性实现:
- givenName声明:选择Split转换函数,源属性绑定
user.DisplayName,分隔符填上述带单空格的字面量" ",拆分段索引填0——也就是取拆分后的第一段内容作为givenName的属性值 - surname声明:选择相同的Split转换函数,源属性同样绑定
user.DisplayName,分隔符保持和上面一致的" ",拆分段索引填1——也就是取拆分后的第二段内容作为surname的属性值
实操避坑提示
- 别在双引号中间敲多个连续空格,多余的空白字符会直接导致拆分匹配失效
- 如果存在DisplayName首尾带多余空白的B2B协作用户,可以在Split转换前串联Trim函数,先截断属性值首尾的空白字符再做拆分
- 配置完成后要对照SkillJar侧的SAML属性要求,核对两个自定义声明的名称、格式完全匹配,避免出现属性值正确但应用无法识别的问题
内容的提问来源于stack exchange,提问作者Kanishka Samarasinha
相关产品推荐
相关产品推荐

