Я работаю над небольшим побочным проектом на моем локальном хосте и хочу, чтобы он отправлял JSON-запрос кросс-источника на мой другой сервер, который реализует некоторый REST API в PHP.
Для правильной обработки запроса сервер должен получить cookie-файл, который устанавливается при входе пользователя в систему.
Когда я захожу на свой сервер и вручную открываю URL API в браузере, я вижу заголовок Cookie:
, отправленный вместе с запросом в инструментах F12. Однако, когда я делаю перекрестный запрос от сценария на моем локальном хосте:
var xhr = new XMLHttpRequest();
xhr.open('GET', "https://devbox.my.domain/api.php", true);
xhr.setRequestHeader('Accept', 'application/json');
xhr.withCredentials = true;
xhr.send();
Заголовок
... Cookie:
не отправляется, и я не вижу предварительных запросов OPTION
при просмотре вкладки Network
в инструментах F12.
Я не показываю детали того, как я обрабатываю запрос на сервере с Access-Control-Allow-Origin: *
заголовками и т. Д., Потому что, как вы можете видеть, проблема возникает раньше, то есть сервер не получает cookie в первую очередь .
Куки имеет SameSite=Lax
, но это не меняет поведения.
Есть ли способ заставить Cookie быть отправленным?