Link Search Menu Expand Document

属性映射

在 XAuth 中用户账号属性的传递关系可以概括为 IdP -> XAuth -> 应用

我们通过属性映射来控制传递过程中两端的属性关系。

因此,将分为 IdP To XAuthXAuth To 应用 分别介绍。

IdP To XAuth

IdP To XAuth 的情况一般是在由AD/LDAP、HR系统、钉钉或企业微信等外部源导入账号到 XAuth 的场景。

此时属性映射配置将决定了账号从上述的源导入到 XAuth 后创建和更新账号的数据。

在下图中,从 Active Directory (AD) 导入用户到 XAuth ,以 AD 的 UserPrincipalName 作为 XAuth 中的用户账号(account)。AD 属性 cngivenNamesn分别映射到 XAuth 属性 姓名(displayName)姓(firstName)、名(lastName),其它属性的映射关系如图所示。

image

XAuth To 应用

XAuth To 应用 用于用户数据从 XAuth 推送到其它应用系统创建或更新用户账户。

如下图所示,选择左侧的 XAuth 属性映射到与其同一行的 GitLab 属性。

image

用户详情/授权应用应用详情/授权用户 中可查看指定用户映射到应用中的具体属性值,如下图所示。

image

属性映射中的表达式

表达式为 XAuth 中身份字典的属性映射提供了更灵活的配置。

例如,

  • 在 XAuth 中添加了应用 GitLab
  • 在 GitLab 中的用户账号的形式为邮箱前缀;
  • 在 XAuth 中存在用户的邮箱,但是没有单独的邮箱前缀属性。

使用表达式 split({email},"@")[0] 可以满足该需求,如下图所示

image

表达式示例:

表达式 输入 输出 描述
split({email},"@")[0] zhangsan@example.com zhangsan 以'@'分割字符串,获取第1段字符串
split({email},"@")[1] zhangsan@example.com example.com 以'@'分割字符串,获取第2段字符串
lower({displayName}) zhangSan zhangsan 字符串转为小写
upper({displayName}) zhangsan ZHANGSAN 字符串转为大写
replace({jobNumber},"#","") 1#0002 10002 移除字符串中指定的字符"#"
strip({customName},"$") $street$ street 去掉字符串首尾的字符"$"