本文介绍OIDC标准协议的OIDC id_token扩展值填写规范及配置示例。
类型 | 填写值 | 说明 |
变量 | user.username | 用户名。 |
user.displayName | 显示名称。 | |
user.phone(已过期) | 手机号,不包含国际区号(已过期) | |
user.phoneNumber | 手机号,不包含国际区号。 | |
user.email | 邮箱。 | |
user.status | 用户状态,取值:
| |
user.primaryOrganizationalUnitId | 用户所属主组织ID。 | |
user.organizationalUnits | 用户所属组织所有信息。 | |
ArrayMap(user.organizationalUnits, __item.organizationalUnitId) | 用户所属所有组织ID。 格式:JSON数组。 | |
user.groups | 账户所属组,组的所有信息。 格式:JSON数组 | |
ArrayMap(user.groups, __item.groupId) | 账户所属组ID列表 格式:JSON数组 | |
ArrayMap(user.groups, __item.groupExternalId) | 账户所属组外部ID列表 格式:JSON数组 | |
user.customFields | 所有扩展字段信息 格式:JSON数组 | |
user.customFieldMap.$fieldname$.fieldValue | 某个扩展字段的值 | |
常量 | 使用 "" 英文双引号,引号中填写常量。 | |
表达式 | 高级功能,可以灵活地将值进行拼接、变化。 具体功能请参考高级:账户字段表达式。 |
示例:
输入示例:(user对象)
{
...
"customFieldMap": {
"place": {
"fieldName": "place",
"fieldValue": "beijing"
},
"age": {
"fieldName": "age",
"fieldValue": "18"
}
},
"identityProviderUserMap": {
"idp_m2gngriuenktdkxxxxxx": {
"identityProviderId": "idp_m2gngriuenktdkxxxxxx",
"identityProviderType": "ding_talk",
"identityProviderExternalId": "corp_1234xxxxxxx",
"identityProviderUserId": "b2ed5fc0xxxxx"
}
},
"organizationalUnits": [
{
"organizationalUnitId": "ou_sdfadtaaxxxxxx",
"organizationalUnitName": "AD",
"primary": false
},
{
"organizationalUnitId": "ou_werttxxxxxx",
"organizationalUnitName": "name_002",
"primary": true
}
],
"primaryOrganizationalUnitId": "ou_werttxxxxxx",
"customFields": [
{
"fieldName": "place",
"fieldValue": "beijing"
},
{
"fieldName": "age",
"fieldValue": "18"
}
],
"groups": [
{
"groupId": "group_jp6al4sn4n4wjgjxxxxxx",
"groupName": "group1",
"groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx"
},
{
"groupId": "group_vavikcxewkf5h3oxxxxxx",
"groupName": "group2",
"groupExternalId": "group_vavikcxewkf5h3oxxxxxx"
}
],
...
}
OIDC表达式相关示例:
通过表达式user.organizationalUnits进行id_token解析后:
[ { "organizationalUnitId": "ou_sdfadtaaxxxxxx", "organizationalUnitName": "AD", "primary": false }, { "organizationalUnitId": "ou_werttxxxxxx", "organizationalUnitName": "name_002", "primary": true } ]
通过表达式ArrayMap(user.organizationalUnits, __item.organizationalUnitId)进行id_token解析后:
[ "ou_sdfadtaaxxxxxx", "ou_werttxxxxxx" ]
通过表达式user.groups进行id_token解析后:
[ { "groupId": "group_jp6al4sn4n4wjgjxxxxxx", "groupName": "group1", "groupExternalId": "group_jp6al4sn4n4wjgjxxxxxx" }, { "groupId": "group_vavikcxewkf5h3oxxxxxx", "groupName": "group2", "groupExternalId": "group_vavikcxewkf5h3oxxxxxx" } ]
通过表达式ArrayMap(user.groups, __item.groupId)进行id_token解析后:
[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ]
通过表达式ArrayMap(user.groups, __item.groupExternalId)进行id_token解析后:
[ "group_jp6al4sn4n4wjgjxxxxxx", "group_vavikcxewkf5h3oxxxxxx" ]
通过表达式user.customFields进行id_token解析后:
[ { "fieldName": "place", "fieldValue": "beijing" }, { "fieldName": "age", "fieldValue": "18" } ]
通过表达式user.customFieldMap.age.fieldValue进行id_token解析后:
18