通过AWS Amplify(或aws-sdk)获取Cognito用户的“创建时间”?

时间:2019-04-18 14:42:06

标签: amazon-web-services react-native aws-amplify aws-sdk-js

我有一个React Native移动应用程序,其中使用AWS Amplify与我的Cognito用户池一起使用。

我试图获取当前登录用户的“创建”日期,因为我想在应用启动时向现有用户显示警报,但我不希望新用户获得该警报。我计划使用用户的创建日期来知道他们是否应该看到警报。

在AWS Console的Cognito服务中查看我的用户池时,我看到每个用户确实具有“已创建”属性:

enter image description here

但是,我不确定如何从应用程序内访问该属性。我可以在文档中找到的唯一相关方法是Auth.currentAuthenticatedUser(),但似乎没有在响应中包含“已创建”时间戳。

我确实在Cognito文档中找到了对AdminGetUser的引用,其中确实包含UserCreateDate属性,但是我不想在应用程序本身中使用管理员凭据,因此我正在寻找另一种选择。

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

有一种方法可以使用AdminGetUser API,而无需向用户提供直接的管理员访问权限。由于使用的是Amplify,因此可以发布调用Lambda函数的API(REST或GraphQL)。依次为Lambda函数配置了所需的cognito-idp:AdminGetUser特权,该特权用于读取用户数据,然后通过api将其返回。