WSO2 IS 5.7.0按租户查询用户的SCIM 2 API无返回结果问题
解决WSO2 Identity Server 5.7.0 SCIM2用户接口返回空结果的问题
检查管理员用户的隐藏状态
登录WSO2 IS管理控制台,进入目标租户的用户管理页面,找到专属管理员用户,查看其属性中的isHidden是否为true。SCIM2接口默认不会返回标记为隐藏的用户,若该值为true,修改为false即可。验证user-mgt.xml中的SCIM过滤规则
打开<IS_HOME>/repository/conf/user-mgt.xml:- 再次核对
<SCIMEnabled>true</SCIMEnabled>是否正确配置 - 检查是否存在
SCIMUserFilter配置,如果该规则过滤掉了管理员用户(比如排除用户名admin或特定角色),调整过滤条件让管理员用户符合规则。
- 再次核对
检查scim2-config.xml的资源排除规则
打开<IS_HOME>/repository/conf/scim2-config.xml,定位到<UserResource>节点:- 查看
excludeRoles属性,若里面包含管理员角色(比如admin),移除对应角色值,避免管理员用户被排除。 - 检查
filter配置项,确保没有设置排除管理员用户的过滤条件。
- 查看
确认调用接口的认证权限
调用SCIM2接口的用户需要有读取租户用户的权限:- 要么使用目标租户的管理员账号认证,要么给认证用户添加
Internal/list_users权限(通过管理控制台的角色权限配置操作)。 - 如果用OAuth2令牌调用,确保令牌包含
urn:scim:wso2.org:read这类SCIM相关的权限范围。
- 要么使用目标租户的管理员账号认证,要么给认证用户添加
非默认用户存储的SCIM支持检查
如果专属管理员用户在非默认用户存储里,打开<IS_HOME>/repository/conf/user-mgt.xml对应的用户存储配置节点,确认已经添加<SCIMEnabled>true</SCIMEnabled>配置。
内容的提问来源于stack exchange,提问作者user666
相关产品推荐
相关产品推荐

