使用 ID 从 Cognito 检索用户信息
Retrieve user informations from cognito with ID
我正在尝试使用 AWS 服务构建一个简单的博客以自学。
我正在使用 Amazon Cognito 登录用户。每个用户都有一个昵称。我希望我的用户能够 post 文章到我的博客。
为了存储文章,我使用了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 table 并将端点添加到我的 API 以获取这些项目。
- 不要使用 cognito 的属性并创建 "UserProfile" 外部化服务
- 在我的 API 上创建端点以检索用户的 public 配置文件(lambda 函数将查询 Amazon Cognito API 并从中过滤 public私有属性。)
你会怎么做?最佳做法是什么?
我最近使用 Cognito 作为身份验证创建了一个无服务器应用程序,我正在使用您提到的第二个选项。不仅使数据一致,而且更容易获取。
如果您将属性保留在您的 UserPool 中,这就像管理第三方 API 来获取他的数据,而第三方可能只是用于身份验证。
您始终可以将用户数据保存在本地存储会话中。
与其说是最佳实践,不如说是架构决策。
我正在尝试使用 AWS 服务构建一个简单的博客以自学。
我正在使用 Amazon Cognito 登录用户。每个用户都有一个昵称。我希望我的用户能够 post 文章到我的博客。
为了存储文章,我使用了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 table 并将端点添加到我的 API 以获取这些项目。
- 不要使用 cognito 的属性并创建 "UserProfile" 外部化服务
- 在我的 API 上创建端点以检索用户的 public 配置文件(lambda 函数将查询 Amazon Cognito API 并从中过滤 public私有属性。)
你会怎么做?最佳做法是什么?
我最近使用 Cognito 作为身份验证创建了一个无服务器应用程序,我正在使用您提到的第二个选项。不仅使数据一致,而且更容易获取。
如果您将属性保留在您的 UserPool 中,这就像管理第三方 API 来获取他的数据,而第三方可能只是用于身份验证。 您始终可以将用户数据保存在本地存储会话中。
与其说是最佳实践,不如说是架构决策。