amazon-web-services - 无法从 java 中的 aws cognito 用户池中列出用户详细信息
问题描述
我在 aws cognito 中有一个用户池,其中包含大约 100 个用户详细信息。我想通过 java 代码列出所有用户的电子邮件。下面是代码-
AWSCognitoIdentityProvider cognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.fromName(REGION))
.build();
try {
ListUsersRequest req=new ListUsersRequest();
req=req.withUserPoolId(POOL_ID);
List<String> attributesToGet=new ArrayList<>();
attributesToGet.add("email");
ListUsersResult response = cognitoIdentityProvider.listUsers(req);
System.out.println(response.getUsers());
但是当我运行代码时,我得到异常com.amazonaws.services.cognitoidp.model.AWSCognitoIdentityProviderException:缺少身份验证令牌(服务:AWSCognitoIdentityProvider;状态代码:400;错误代码:MissingAuthenticationTokenException。 如何解决这个问题或是否有任何打印所有用户的其他方式?
解决方案
我将验证传递给 AWSStaticCredentialsProvider 的凭证是否有效。否则代码看起来是正确的——我在我的一个项目中有类似的代码,效果很好。
仅供参考 -listUsers
一次只返回 60 个结果。您将需要paginationToken
从响应中获取,将其添加到后续请求中并listUsers
在循环中再次调用以检索所有用户
推荐阅读
- cplex - 为什么在使用 CPLEX 运行 Minizinc 模型时会创建许多 cpx 文件?
- java - javax.persistence.TransactionRequiredException:Spring 5 中没有正在进行的事务
- java - 我的 DoubleBinding 在 JavaFX 控制器类的初始化方法中引发 StackOverflowError
- powerbi - Power BI:按今天计算数字,并在同一日期计算前几年的数字
- python - LinearModels python中Fama-MacBeth方法的示例代码
- python - 使用正则表达式在python中返回两个单引号''之间的所有字符
- python - Matplotlib - 绘图问题 - 图形配置
- ruby-on-rails - 错误数量的参数 rails 不会将参数传递给方法
- bash - 制作一个 shell 脚本,但该脚本没有接受任何输入
- json - react-d3-tree 解析外部 JSON 时出错