【问题标题】:Retrieve user informations from cognito with ID使用 ID 从 cognito 中检索用户信息
【发布时间】:2018-10-19 05:09:04
【问题描述】:

我正在尝试使用 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 函数来创建 REST API 以从数据库中检索文档。

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

我该怎么做?

我试图想象的可能性:

  • 使用 Cognito Sync API 将用户信息存储在 DynamoDB 表中,并将端点添加到我的 API 以获取这些项目。
  • 不要使用 cognito 中的属性并创建“UserProfile”外部化服务
  • 在我的 API 上创建一个端点以检索用户的公共配置文件(lambda 函数将查询 Amazon Cognito API 并从私有属性中过滤公共属性。)

你会怎么做?最佳做法是什么?

【问题讨论】:

    标签: aws-sdk amazon-cognito


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 2022-01-01
      • 2018-05-21
      相关资源
      最近更新 更多