是否可以在 Amplify 的 schema.graphql 中指定 2 个带有身份验证注释的 Cognito 用户池?
Posted
技术标签:
【中文标题】是否可以在 Amplify 的 schema.graphql 中指定 2 个带有身份验证注释的 Cognito 用户池?【英文标题】:Is it possible to specify 2 Cognito user pools with auth annotation in schema.graphql in Amplify? 【发布时间】:2021-09-21 08:05:00 【问题描述】:我有一个关于 Amplify 的问题,尤其是如何
从同一个 API(AppSync) 连接两个 Amazon Cognito 用户池 在 schema.graphql 中定义需要 Amazon Cognito 用户池身份验证的位置。下图是我想要实现的。
有些 API 需要 user pool for user
身份验证,但另一方面,其他 API 需要 user pool for admin
。
【问题讨论】:
Appsync 确实支持多个 cognito 用户池,但不幸的是,amplify 不支持它,请参阅目前有未解决的问题 github.com/aws-amplify/amplify-cli/issues/4853 【参考方案1】:Amplify 不支持多个用户池。但是,您可以使用用户组实现类似的目标:https://docs.amplify.aws/cli/auth/groups
然后,当您使用 API 时,您可以使用授权规则:https://docs.amplify.aws/cli/graphql-transformer/auth#multiple-authorization-rules
这里有一篇关于它的博文:https://aws.amazon.com/blogs/mobile/aws-amplify-allows-you-to-mix-and-match-authorization-modes-in-datastore/
【讨论】:
以上是关于是否可以在 Amplify 的 schema.graphql 中指定 2 个带有身份验证注释的 Cognito 用户池?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?
是否可以向使用 AWS Amplify 预置的 lambda PostAuthenticate 函数授予额外权限?