Safari не устанавливает cookie, но chrome и firefox делают

Я отправляю запросы с локального хоста на сторонний сервер для получения данных с помощью REST API. Серверная часть использует файлы cookie («JSESSIONID»), чтобы понимать, отправлять ли данные или нет. В Chrome все работает нормально, и я вижу файлы cookie на вкладке «Приложение» в браузере Chrome с некоторыми данными. Но этот конкретный ключ («JSESSIONID») не установлен как значение. Между тем, вкладка Safari Cookies не содержит никакого значения, но я вижу эту строку в Response:

Set-Cookie: JSESSIONID=FE833C57BF6448BBF12036948C337372A2CFD793F3C7.devOrderEntry; Path=/orderEntry; HttpOnly

В то же время серверная часть ожидает Cookie с этим параметром от клиента, и этот параметр пуст в заголовке Safari.

Я использую axios для XMLHttpRequests и webpack как конструктор. Я пробовал несколько вещей, например withCredentials: true или установил max-length на 1 год, но это не сработало. Пожалуйста, посоветуйте что-нибудь!

Вот как это работает в Firefox:

This is how it works in Firefox

И в Safari:

This is how it works in Safari

Safari -> Настройки -> Конфиденциальность -> Запретить межсайтовое отслеживание. Этот флажок необходимо снять. В любом случае, когда пользователь участвует в настройках браузера для получения данных, это неправильный путь. Любая идея?

max 01.11.2018 09:31

Вы случайно это решили? У меня тоже есть эта проблема, в первую очередь, в iOS Safari.

Calsal 12.03.2020 11:41

К сожалению нет. Похоже, это специфические настройки браузера Safari.

max 20.03.2020 07:50

связанный вопрос для тех, кто ищет здесь ответы: stackoverflow.com/q/56972162/2544629

manroe 18.09.2020 19:08
8
4
4 029
0

Другие вопросы по теме