本文介紹SAML標準協議的SAML Attribute Statements擴充值填寫規範及配置樣本。
SAML擴充值填寫規範說明
類型 | 填寫值 | 說明 |
變數 | user.username | 使用者名稱。 |
user.displayName | 顯示名稱。 | |
user.phone(已到期) | 手機號,不包含國際區號(已到期)。 | |
user.phoneNumber | 手機號,不包含國際區號。 | |
user.email | 郵箱。 | |
user.status | 使用者狀態,取值:
| |
user.primaryOrganizationalUnitId | 使用者所屬主組織ID。 | |
ObjectToJsonString(user.organizationalUnits) | 使用者所屬組織所有資訊。 格式:JSON數組字串。 | |
ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ",") | 使用者所屬組織ID列表。 格式:JSON數組字串。 | |
ObjectToJsonString(user.groups) | 賬戶所屬組,組的所有資訊。 格式:JSON數組字串。 | |
ArrayJoin(ArrayMap(user.groups, __item.groupId), ",") | 賬戶所屬組ID列表。 格式:JSON數組字串。 | |
ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ",") | 賬戶所屬組外部ID列表。 格式:JSON數組字串。 | |
ObjectToJsonString(user.customFields) | 所有擴充欄位資訊。 格式:JSON數組字串。 | |
user.customFieldMap.$fieldname$.fieldValue | 某個擴充欄位的值。 | |
appUser.username | 應用賬戶。 | |
常量 | 使用 "" 英文雙引號,引號中填寫常量。 | |
運算式 | 進階功能,可以靈活地將值進行拼接、變化。 具體功能請參考進階賬戶欄位運算式。 | |
SAML運算式相關樣本
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"
}
],
...
}SAML介面配置樣本

SAML擴充值解析結果樣本
通過ObjectToJsonString(user.organizationalUnits)運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="organizationalUnits" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> [{"organizationalUnitId":"ou_sdfadtaaxxxxxx","organizationalUnitName":"AD","primary":false},{"organizationalUnitId":"ou_werttxxxxxx","organizationalUnitName":"name_002","primary":true}] </saml2:AttributeValue> </saml2:Attribute>通過ArrayJoin(ArrayMap(user.organizationalUnits, __item.organizationalUnitId), ",")運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="organizationalUnitIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> ou_sdfadtaaxxxxxx,ou_werttxxxxxx </saml2:AttributeValue> </saml2:Attribute>通過ObjectToJsonString(user.groups)運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="groups" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> [{"groupId":"group_jp6al4sn4n4wjgjxxxxxx","groupName":"group1","groupExternalId":"group_jp6al4sn4n4wjgjxxxxxx"},{"groupId":"group_vavikcxewkf5h3oxxxxxx","groupName":"group2","groupExternalId":"group_vavikcxewkf5h3oxxxxxx"}] </saml2:AttributeValue> </saml2:Attribute>通過運算式ArrayJoin(ArrayMap(user.groups, __item.groupId), ",")解析後的SAML返回結果如下:
<saml2:Attribute Name="groupIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx,group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute>通過ArrayJoin(ArrayMap(user.groups, __item.groupExternalId), ",")運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="groupExternalIds" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx,group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute>通過SamlArray(ArrayMap(user.groups, __item.groupId))運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="grouIdArray" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="xsd:string"> group_jp6al4sn4n4wjgjxxxxxx </saml2:AttributeValue> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> group_vavikcxewkf5h3oxxxxxx </saml2:AttributeValue> </saml2:Attribute>通過ObjectToJsonString(user.customFields)運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="customFields" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:type="xsd:string"> [{"fieldName":"place","fieldValue":"beijing"},{"fieldName":"age","fieldValue":"18"}] </saml2:AttributeValue> </saml2:Attribute>通過user.customFieldMap.age.fieldValue運算式解析後的SAML返回結果如下:
<saml2:Attribute Name="age" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"> 18 </saml2:AttributeValue> </saml2:Attribute>