WSO2是SCIM用户架构扩展。如何定义和映射多值属性

时间:2016-07-21 17:53:55

标签: wso2 wso2is scim

我们正在使用WSO2 IS 5.1,我想定义多值属性:

....
{
"attributeURI":"urn:scim:schemas:extension:wso2:1.0:wso2Extension.vultPerson.mailAlternateAddress",
"attributeName":"mailAlternateAddress",
"dataType":"string",
"multiValued":"true",
"multiValuedAttributeChildName":"null",
"description":"Some attribute",
"schemaURI":"urn:scim:schemas:extension:wso2:1.0",
"readOnly":"false",
"required":"false",
"caseExact":"false",
"subAttributes":"null" 
},
...

我在urn中映射了这个属性:scim:schemas:core:1.0 dialect to LDAP(主用户存储)atrribute mailAlternateAddress(我的LDAP在UserEntryObjectClass' es之一中具有此属性)。我试图通过SCIM API配置用户。创建了用户,也创建了扩展的所有简单属性,而不是mailAltrernateAddress。我试图将此属性发送为:

....      
"mailAlternateAddress": [
        {
          "type": "work",
          "value": "a.a"
        }
....

和as:

...
"mailAlternateAddress": ["a.a","b.b"]
...

我收到了对SCIM请求的良好回复。

我尝试了映射:

urn:scim:schemas:extension:wso2:1.0:wso2Extension.vultPerson.mailAlternateAddress -> mailAlternateAddress
and
urn:scim:schemas:extension:wso2:1.0:wso2Extension.vultPerson.mailAlternateAddress.work -> mailAlternateAddtress

两者都有相同的结果。

BTW,根据核心SCIM架构,电子邮件属性被映射到LDAP 邮件属性(此映射在WSO2 IS detribution中),但此映射不是也工作,邮件属性未创建。

我做错了什么? 还有一个问题。我可以在scim-user-schema-extension中为多值属性定义规范值吗?

1 个答案:

答案 0 :(得分:0)

问题出在班级

org.wso2.carbon.identity.scim.common.utils.AttributeMapper

有一些奇怪的限制。起初我重写了方法 getClaimsMap ,现在它按预期工作。

对不起我的英语。