3

我正在运行 WSO2 Identity Server 的默认配置并尝试使用此处描述的 SCIM 扩展

我已将provisioning-config.xml缩减为 ...

[
{
"attributeURI":"urn:scim:schemas:extension:wso2:1.0:wso2Extension.employeeNumber",
"attributeName":"employeeNumber",
"dataType":"string",
"multiValued":"false",
"multiValuedAttributeChildName":"null",
"description":"Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization",
"schemaURI":"urn:scim:schemas:extension:wso2:1.0",
"readOnly":"true",
"required":"false",
"caseExact":"true",
"subAttributes":"null" 
}
]

我还为urn:scim:schemas:core:1.0声明了这个扩展

Description Employee Number
Claim Uri   urn:scim:schemas:extension:wso2:1.0:wso2Extension.employeeNumber
Mapped Attribute (s)    employeeNumber
Regular Expression  null
Display Order   0
Supported by Default    true
Required    false
Read-only   true

当我使用此命令添加用户时,会添加用户但忽略扩展属性。

curl -v -k --user admin:admin --data "{"schemas":[],"userName":"SureshAtt","password":"Wso2@123","wso2Extension":{"employeeNumber":"000111"},"externalId": "701984"}" --header "Content-Type:application/json" https://localhost:9443/wso2/scim/Users

当我直接查看 LDAP 服务器时,我看到了用户和除扩展名之外的所有属性。

不知道我做错了什么。我已经重新启动了 WSO2 服务器,但这并没有帮助。

4

1 回答 1

0

我猜你指出的文件是'scim-schema-extension.config'。要正确使用 SCIM 扩展,您应该减少如下。

[
{
"attributeURI":"urn:scim:schemas:extension:wso2:1.0:wso2Extension.employeeNumber",
"attributeName":"employeeNumber",
"dataType":"string",
"multiValued":"false",
"multiValuedAttributeChildName":"null",
"description":"Numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization",
"schemaURI":"urn:scim:schemas:extension:wso2:1.0",
"readOnly":"true",
"required":"true",
"caseExact":"true",
"subAttributes":"null" 
},
{
"attributeURI":"urn:scim:schemas:extension:wso2:1.0",
"attributeName":"wso2Extension",
"dataType":"null",
"multiValued":"false",
"multiValuedAttributeChildName":"null",
"description":"SCIM wso2 User Schema Extension",
"schemaURI":"urn:scim:schemas:extension:wso2:1.0",
"readOnly":"false",
"required":"false",
"caseExact":"false",
"subAttributes":"employeeNumber" 
}

]

请注意,wso2.extension 元素位于底部,在它的子属性下我包含了employeeNumber。这应该与您发布的 cURL 命令一起使用。希望这可以帮助。

于 2014-08-04T19:50:38.547 回答