WSO2 Identity Server API按角色搜索用户的SCIM过滤问题
解决WSO2 Identity Server SCIM API搜索特定角色用户的问题
你遇到的错误是因为roles属性不属于SCIM核心用户 schema,而是属于企业扩展schema,必须指定完整的schema URI才能正确过滤。
正确的过滤格式
WSO2 Identity Server中,用户的角色信息存储在urn:ietf:params:scim:schemas:extension:enterprise:2.0:User扩展schema的roles数组里,每个角色对象包含value(角色ID)和display(角色名称)两个属性。你可以根据需求选择以下过滤方式:
精确匹配角色名称:
GET /scim2/Users?filter=urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:roles.display eq "你的角色名称"模糊匹配角色名称(使用
co操作符):GET /scim2/Users?filter=urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:roles.display co "角色名称关键词"通过角色ID匹配:
GET /scim2/Users?filter=urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:roles.value eq "角色ID"
关键说明
- 必须指定完整的扩展schema URI,否则API无法识别
roles属性; roles是数组类型,过滤时需要明确指定数组元素的子属性(display或value),不能直接用roles进行过滤;- SCIM过滤操作符区分大小写,注意使用正确的操作符(
eq精确匹配、co包含匹配等)。
内容的提问来源于stack exchange,提问作者wagner
相关产品推荐
相关产品推荐

