AWS Cognito GetUser API未返回所有属性

时间:2017-04-11 20:57:28

标签: javascript node.js aws-cognito

目前我正在开发一个使用AWS Cognito的应用程序。我在每个用户上存储了许多自定义属性,并在用户登录或更新信息时从该信息中提取。在大多数情况下,这没有问题。但是,getUser函数没有返回我的一些自定义属性。对此感到困惑,我在aws cognito控制台中仔细检查了用户,发现尽管没有返回,但所有属性都存在。最后,当我列出池中的所有用户并显示我正在寻找的属性时,通过查看返回的内容进行三重检查。在这种情况下,属性出现没有任何困难。这是一个非常奇怪的问题,因为它无声地失败,只给了我一些与用户相关的信息,而不是全部。更奇怪的是它甚至给了我一些自定义属性,而不是全部。有没有人知道问题可能是什么或者还有什么可以测试?

作为参考,我使用node.js服务器访问此信息。我使用这个:http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html来获取使用访问令牌的特定用户。我也使用此http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html进行测试,以查看属性是否存在。

1 个答案:

答案 0 :(得分:9)

经过大量挖掘后,我终于找到了解决方案。 GetUser API只返回标记为可读的属性(我甚至不知道你可以编辑属性的读/写权限)。

要访问此功能,请转到用户池的页面,然后导航至:

  

常规设置>应用客户端>显示详细信息>设置属性读取和   写权限