链接到 Cognito 用户池的 AWS Amplify GraphQL 架构

Posted

技术标签:

【中文标题】链接到 Cognito 用户池的 AWS Amplify GraphQL 架构【英文标题】:AWS Amplify GraphQL Schema that is linked to Cognito User Pool 【发布时间】:2020-04-05 06:59:49 【问题描述】:

我正在使用 AWS Amplify 创建一个网站平台,该平台主要用作注册用户的目录,具有与业务领域相关的各种属性。平台的两个主要用户将是注册用户和普通未认证用户,他们将能够根据注册用户的属性(如locationage等)列出和过滤注册用户。注册用户将被设置所有属性在会员区。

某些属性存储在 Cognito 中,例如 nameaddress,并使用 Amplify Authentication 进行设置。这些是我希望通过 Amplify GraphQL 功能查询和变异的字段。

我可以看到@auth directive 可以实现一些很酷的授权模式。

是否可以利用 GraphQL 转换,以便我可以创建一个模型架构,其中一些字段链接到 Cognito 用户池,而一些字段在 GraphQL 架构中定义,以便它们可查询和可变?事实上,我想为注册用户提供更新除电子邮件以外的所有字段的工具。或者也许有一些 Amplify 支持的服务组合,我可以将它们连接在一起以实现相同的目标?

我是 AWS Serveless 生态系统的新手,到目前为止它一直令人兴奋!

【问题讨论】:

【参考方案1】:

我发现以上可以使用@function 指令来实现。它允许我们将 lambda 解析器连接到模式。在 lambda 中,我们几乎可以执行任何操作,例如读取和更新 Amazon Cognito 用户池。

https://aws-amplify.github.io/docs/cli-toolchain/graphql#function

【讨论】:

请描述一下。

以上是关于链接到 Cognito 用户池的 AWS Amplify GraphQL 架构的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?

使用多个用户池的具有 Cognito 授权的 AWS API 网关

AWS Cognito 用户池的事件触发器对象

如何修改 AWS Cognito 用户池的访问令牌和身份令牌的到期时间

创建 AWS Cognito 用户池时出现 Terraform 错误

在本地使用 Cognito [离线]