如何将 AWS Amplify Appsync 默认授权模式从 API KEY 更改为 cognito 用户池?

mun*_*nir 2 amazon-cognito graphql aws-appsync aws-amplify

我正在使用Amplify,我将身份验证添加到我的应用程序中,我的 graphQL 架构具有私有规则,所有事情在我的本地都运行良好,每个 graphQl api 调用,它包含访问令牌和 appSync 接受我的请求。但是当我部署我的应用程序时,我收到一个错误,因为我的所有 graphQl 请求仍然使用api-key而不是访问令牌。

我的模式.graphQl 在此输入图像描述

我的 AWSAppSyncClient 在此输入图像描述

在控制台中我使用此配置在此输入图像描述

在我的本地:身份验证后一切正常。

在此输入图像描述

在生产中: graphQl 在身份验证后仍然具有 api-key

在此输入图像描述

por*_*las 9

根据这个文档我跑了amplify update api

\n

命令行会提示您选择 API 类型:

\n
? Please select from one of the below mentioned services:\n    > `GraphQL`\n? Select a setting to edit:\n    > `Authorization modes`\n? Choose the default authorization type for the API\n  API key\n  Amazon Cognito User Pool\n\xe2\x9d\xaf IAM\n  OpenID Connect\n
Run Code Online (Sandbox Code Playgroud)\n

我将 API 的默认授权类型更新Amazon Cognito User PoolAPI key.

\n

然后我必须运行amplify push --appId YOUR_APP_ID --envName YOUR_STAGING_ENV来同步更改。

\n