目前我正在开发一个使用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进行测试,以查看属性是否存在。
答案 0 :(得分:9)
经过大量挖掘后,我终于找到了解决方案。 GetUser API只返回标记为可读的属性(我甚至不知道你可以编辑属性的读/写权限)。
要访问此功能,请转到用户池的页面,然后导航至:
常规设置>应用客户端>显示详细信息>设置属性读取和 写权限