8

Amplify CLI を使用して、dynamo テーブルを読み取るラムダを呼び出す API を追加しました。

AWS にデプロイしてから y'day はうまくいきました。今日の朝、何も変更されていない状態で 403 エラーがスローされます。

GET https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items 403

オリジンからの「https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items 」でのXMLHttpRequest へのアクセスhttp://myproject-20181130113531--hostingbucket.s3-website-eu- west-1.amazonaws.com '' は CORS ポリシーによってブロックされました: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません。

観察/行動

  • CORS が API Gateway で有効になっていることを確認し、API を再デプロイします。

  • API Gateway から API のテストが成功し、Lambda 関数が正しく呼び出されます

  • Amplify サービスはユーザー オブジェクトを作成し、localstorage に保持されます
  • OPTIONS の呼び出しは、開発者ツールの下でも良好に見えます。

    一般設定:

  • リクエスト URL: https://xxnxxtfxx.execute-api.eu-west-1.amazonaws.com/Prod/items

  • リクエスト方法: OPTIONS
  • ステータスコード: 200

    応答ヘッダー:

  • access-control-allow-headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
  • アクセス制御許可メソッド: DELETE、GET、HEAD、OPTIONS、PATCH、POST、PUT
  • access-control-allow-origin: *`

なぜ 403 で CORS エラーが発生するのか疑問に思っています。何かご意見は?私を困惑させ、怖がらせているのは、目覚めてから数時間後、何の変化もなく物事が失敗していることです:-(

4

2 に答える 2