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