【问题标题】:How to change AWS Amplify Appsync default authorization mode form API KEY to cognito user pool?如何将 AWS Amplify Appsync 默认授权模式从 API KEY 更改为 cognito 用户池?
【发布时间】:2022-11-10 07:07:08
【问题描述】:
我正在与放大,我将身份验证添加到我的应用程序中,并且我的 graphQL 架构具有私有规则,所有事情在我的本地运行良好,每个 graphQl api 调用,它包含访问令牌appSync 接受我的请求。
但是当我部署我的应用程序时,我收到一个错误,因为我的所有 graphQl 请求仍然存在api-key没有访问令牌。
我的 schema.graphQl
我的 AWSAppSyncClient
在控制台中我使用这个配置:
在我的本地:认证后一切正常。
在生产中:认证后graphQl仍然使用api-key
【问题讨论】:
标签:
graphql
amazon-cognito
aws-amplify
aws-appsync
【解决方案1】:
基于这个documentation我跑了amplify update api:
从那里命令行提示您选择 API 类型:
? Please select from one of the below mentioned services:
> `GraphQL`
? Select a setting to edit:
> `Authorization modes`
? Choose the default authorization type for the API
API key
Amazon Cognito User Pool
❯ IAM
OpenID Connect
我将 API 的默认授权类型更新为 Amazon Cognito User Pool 而不是 API key。
然后我必须运行amplify push --appId YOUR_APP_ID --envName YOUR_STAGING_ENV 来同步更改。