Ampify 403 тоже подходит с ошибкой CORS - PullRequest
0 голосов
/ 02 декабря 2018

Через Amplify CLI добавлен API, который вызывает лямбду, которая читает динамо-таблицу.

Это работало хорошо после развертывания в AWS.Сегодня утром выдает ошибку 403 без изменений:

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

Доступ к XMLHttpRequest в https://xxnxxtfxx.execute -api.eu-west-1.amazonaws.com / Prod / items 'from origin' 'http://myproject -20181130113531--hostingbucket.s3-website-eu-west-1.amazonaws.com ' ' заблокирован политикой CORS: нет' ДоступЗаголовок -Control-Allow-Origin 'присутствует на запрашиваемом ресурсе.

Наблюдения / действия

  • Убедитесь, что CORSвключен на API-шлюзе, повторно разверните API.

  • Тестирование API успешно завершено из API-шлюза, он правильно вызывает функцию Lambda

  • Служба Amplify создаетпользовательский объект и сохраняется в localstorage
  • вызов OPTIONS выглядит также хорошо в инструментах разработчика:

    Общие настройки:

  • Request URL: https://xxnxxtfxx.execute -api.eu-west-1.amazonaws.com / Prod / items

  • Метод запроса: ОПЦИИ
  • Код состояния: 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
  • контроль доступа-allow-allow-origin: * `

Интересно, почему 403 выдвинул это с ошибкой CORS. Есть мысли?что сбивает с толку и пугает меня тем, что через несколько часов после того, как я просыпаюсь без изменений, вещи перестают работать: - (

1 Ответ

0 голосов
/ 15 апреля 2019

У меня была такая же ошибка (и я выполнял те же действия).В моем случае я не передавал правильные аргументы в Усиленном пост-вызове , пропустив аргумент init.Я исправляю это, передавая аргумент myInit с пустым телом:

let myInit = {
    body: {}
}

API.post(apiName, path, myInit)
...