You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 API Manager 4.2.0:如何查询所有已注册Devportal用户列表?

针对WSO2 API Manager 4.2.0用户列表查询的解决方案

一、管理控制台直接查询的限制

目前APIM 4.2.0的管理控制台不支持直接导出或查看包含所有用户声明(姓名、组织、邮箱等)的完整列表。默认仅能看到用户名列表,通过单个声明搜索也只会返回用户名,必须逐个进入用户配置页查看详细信息。

二、数据库层面的查询方案

当使用Resident密钥管理器时,用户的配置文件信息并不存储在APIMDB中,而是存在APIM自带的用户存储(默认是H2数据库,生产环境可配置为MySQL等)对应的用户表中:

  • 若使用JDBC用户存储,核心用户数据在UM_USER表,用户属性(声明)存储在UM_USER_ATTRIBUTE表
  • AM_SUBSCRIBER表仅记录订阅关系,只保存用户名和租户ID,不包含用户属性信息

如果要关联订阅信息与用户属性,可使用以下SQL查询(以MySQL为例,需替换对应数据库名):

SELECT 
    s.SUBSCRIBER_NAME AS username,
    ua.ATTR_VALUE AS email,
    ua2.ATTR_VALUE AS full_name,
    ua3.ATTR_VALUE AS organization
FROM 
    apim_db.AM_SUBSCRIBER s
JOIN 
    user_store_db.UM_USER u ON s.SUBSCRIBER_NAME = u.USER_NAME
LEFT JOIN 
    user_store_db.UM_USER_ATTRIBUTE ua ON u.USER_ID = ua.USER_ID AND ua.ATTR_NAME = 'email'
LEFT JOIN 
    user_store_db.UM_USER_ATTRIBUTE ua2 ON u.USER_ID = ua2.USER_ID AND ua2.ATTR_NAME = 'fullname'
LEFT JOIN 
    user_store_db.UM_USER_ATTRIBUTE ua3 ON u.USER_ID = ua3.USER_ID AND ua3.ATTR_NAME = 'organization';

注意:需确保APIMDB和用户存储数据库在同一实例,或配置跨库查询权限;ATTR_NAME需匹配你实际配置的用户声明属性名。

三、API层面的解决方案

APIM 4.2.0没有专门的产品API用于查询用户列表,但可以通过Admin Services实现:

  • 使用RemoteUserStoreManagerService中的listUsers方法获取用户列表,再通过getUserClaimValues方法获取每个用户的声明属性
  • 调用Admin Services需要管理员权限,可通过SOAP客户端或编写简单脚本(如Python/Java)实现

另外,Micro Integrator的管理API仅适用于自身组件的用户查询,不能用于APIM本身的用户数据获取。

内容的提问来源于stack exchange,提问作者RTodd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:18:24