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

saa*_*adq 5 amazon-web-services react-native aws-sdk-js aws-amplify

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

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

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

在此处输入图片说明

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

我确实AdminGetUser在Cognito文档中找到了一个引用,其中确实包含一个UserCreateDate属性,但是我不想在应用程序本身中使用管理员凭据,因此我正在寻找替代方法。

任何建议,将不胜感激!

mat*_*sev 5

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