Aws sdk 从ID为的cognito检索用户信息

Aws sdk 从ID为的cognito检索用户信息,aws-sdk,amazon-cognito,Aws Sdk,Amazon Cognito,我试图用AWS服务建立一个简单的博客来教育自己 我正在使用Amazon Cognito登录用户。每个用户都有一个昵称。我希望我的用户能够将文章发布到我的博客 为了存储文章,我使用DynamoDB。以下是一个文章项目的示例: { "ArticleID": "MyUniqueID", "title": "My Hello World Article", "content": "This is the content of the article", "author": "26a16b

我试图用AWS服务建立一个简单的博客来教育自己

我正在使用Amazon Cognito登录用户。每个用户都有一个昵称。我希望我的用户能够将文章发布到我的博客

为了存储文章,我使用DynamoDB。以下是一个文章项目的示例:

{
  "ArticleID": "MyUniqueID",
  "title": "My Hello World Article",
  "content": "This is the content of the article",
  "author": "26a16b31-b2c0-4cf3-89f9-d5dcfd56d530" // Cognito User ID.
}
我正在使用无服务器框架和lambda函数创建一个restapi来从数据库检索文档

现在,我想在我博客的文章页面上显示作者的昵称。因此,我必须在某处检索26a16b31-b2c0-4cf3-89f9-d5dcfd56d530用户的昵称

我该怎么做

我试图想象的可能性:

使用cognitosyncapi将用户信息存储在DynamoDB表中,并将端点添加到我的API中以获取这些项。 不要使用cognito中的属性并创建一个UserProfile外部化服务 在MyAPI上创建端点以检索用户的公共配置文件lambda函数将查询Amazon Cognito API并从私有属性中过滤公共属性。
你会怎么做?这方面的最佳实践是什么?

我最近创建了一个使用Cognito作为身份验证的无服务器应用程序,我正在使用您提到的第二个选项。它不仅使数据一致,而且更容易获取

如果您在用户池中保留属性,这就像管理第三方API以获取其数据,而第三方可能只是用于身份验证。 您可以始终将用户数据保存在本地存储会话中

这与其说是一个最佳实践,不如说是一个架构决策