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

Spring Boot中通过Cognito搜索AD用户的可行性及方案问询

问题解答

能否通过Cognito API列出或搜索AD用户?

不能。Cognito作为ADFS的身份代理,仅在用户首次成功认证后(若开启自动创建用户)才会将AD用户的部分信息同步到用户池,本身并不存储完整的AD用户数据集,也没有提供直接查询后端AD服务器的API。你的用户池为空,说明没有用户完成过首次认证,因此Cognito API无法获取任何AD用户数据。

可行的解决办法

  • 直接对接AD的LDAP接口:在Spring Boot项目中使用Spring LDAP、UnboundID等LDAP客户端库,直接连接你的Active Directory服务器进行查询。需要提前获取AD的访问权限(绑定账号、密码),配置LDAP地址与查询规则,即可实现按用户名、邮箱、角色等条件搜索AD用户。
  • 启用Cognito用户自动同步:开启Cognito用户池的「自动创建用户」功能,用户首次通过ADFS认证后,Cognito会将其基础信息同步到用户池,之后即可调用Cognito的ListUsers、AdminListUsers等API查询已同步的用户。但此方法仅能获取已完成首次登录的AD用户,无法覆盖AD中所有未登录的用户。
  • 自定义ADFS扩展接口:在ADFS端开发自定义接口暴露用户查询能力,Spring Boot项目直接调用该接口获取AD用户数据;或借助Cognito的Lambda触发器(如PreAuthentication),在用户认证流程中触发AD查询逻辑并返回所需数据,这种方式适合需要结合Cognito认证流程的场景,但实现复杂度较高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:42:04