Подписанные файлы cookie AWS CloudFront Проблема с CORS - PullRequest
0 голосов
/ 22 ноября 2018

Я получаю следующую ошибку при реализации подписанных cookie-файлов в облачном хранилище

Доступ к XMLHttpRequest по адресу https://a.xyz.com/test.html' from origin 'https://b.xyz.com' заблокирован политикой CORS: НетЗаголовок «Access-Control-Allow-Origin» присутствует на запрашиваемом ресурсе.

Я обращаюсь к файлу на a.xyz.com (домен 1) с b.xyz.com (домен 2)).Это работало нормально, прежде чем ограничить доступ зрителя (используя подписанный файл cookie) для распространения в облачном фронте (домен 1).

Моя конфигурация S3 CORS для корзины с активами домена 1:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

У меня естьпопытался установить следующие заголовки белого списка в настройках поведения облачного фронта

Access-Control-Request-Headers
Access-Control-Request-Method
Origin

Но я все еще получаю вышеуказанную ошибку.

Примечание : если я открою файл https://a.xyz.com/test.html в новой вкладке он работает нормально, т.е. подписанные куки-файлы создаются успешно.

Как это исправить?

1 Ответ

0 голосов
/ 22 ноября 2018

Для использования CORS с файлами cookie необходимо использовать Access-Control-Allow-Credentials

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials

Также Access-Control-Allow-Origin не должно быть *, и XHR должен быть запущенс withCredentials

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...