Don*_* Do 6 amazon-web-services amazon-cognito
我正在开发一个使用 AppSync GraphQL 作为 API 的 Amplify 应用程序。
我试图拥有 2 个独立的用户池,可以用作此 GraphQL API 的身份验证源。
按照 Amplify 教程,我能够部署 AppSync GraphQL API,但无法选择配置多个用户池。
我查看了 AWS 控制台,发现我可以在“其他授权提供商”下添加更多用户池,但是当我在查询部分尝试时,只有第一个用户池有效。API 响应为
"message": "Not Authorized to access listTodos on type Query"
Run Code Online (Sandbox Code Playgroud)
这是我的架构:
type Todo @model {
id: ID!
name: String!
description: String
}
Run Code Online (Sandbox Code Playgroud)
我还尝试添加第二个用户池作为 Amplify 生成的身份池的身份验证提供程序,但也没有成功。
是否可以在单个 AppSync API 中使用 2 个用户池?我在这里缺少什么?
谢谢。
小智 5
我面临着同样的问题,但是。最后我想通了。
您必须向具有多个授权的模式添加额外的指令。对于您的情况,您应该按如下方式更新架构:
type Todo @model @aws_cognito_user_pools {
id: ID!
name: String!
description: String
}
Run Code Online (Sandbox Code Playgroud)
您可以从此处找到有关此内容的更多信息: https://aws.amazon.com/blogs/mobile/using-multiple-authorization-types-with-aws-appsync-graphql-apis/