首页 > 解决方案 > AWS Amplify 解析其他用户的属性

问题描述

我已经设置了一个 Cognito 用户池,并在我的 GraphQL Schema 上设置了如下@auth 规则:

type Note @model @auth([{ allow: owner, ownerField: "editors", operations: [read]]}) {

  editors: [String]

 // ... other attributes
   
}

字符串是用户 Cognito 用户池“用户名”。如果我要查询并接收 10 位编辑,是否有一种直接且安全的方式可以从 Cognito 接收他们的属性,例如他们的电子邮件、首选用户名、姓名等?

到目前为止,我唯一的想法是

  1. 将 Dynamo 中的数据复制为另一个字段(editors 和 editorsInfo),并在通过 Lambda 添加/删除编辑器时更新该查找
  2. 在 Dynamo 中添加另一个字段 @function() ,它将获取用户名列表并解析它们
  3. 在 Dynamo 中创建用户模型并复制 Cognito 用户

这两种解决方案都有很大的缺点(陈旧数据与冗余查询)。这似乎是许多人会遇到的常见问题。这里最好的方法是什么?

标签: amazon-dynamodbamazon-cognitoaws-amplifyaws-appsync

解决方案


推荐阅读