链接到 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 创建一个网站平台,该平台主要用作注册用户的目录,具有与业务领域相关的各种属性。平台的两个主要用户将是注册用户和普通未认证用户,他们将能够根据注册用户的属性(如location
、age
等)列出和过滤注册用户。注册用户将被设置所有属性在会员区。
某些属性存储在 Cognito 中,例如 name
和 address
,并使用 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 用户池的访问令牌和身份令牌的到期时间