Вы, кажется, используете CORS.
Чтобы установить повара ie с CORS, вам необходимо установить флаг withCredentials
при выполнении запроса.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
Сервер должен вернуть заголовок Access-Control-Allow-Credentials: true
. Вам также необходимо изменить Access-Control-Allow-Origin: *
, поскольку вы не можете использовать подстановочные знаки для запроса, который использует учетные данные.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
Начиная с Chrome 80, вам также необходимо установить директивы SameSite=None
и Secure
для повара ie.
https://www.chromestatus.com/feature/5088147346030592
https://www.chromestatus.com/feature/5633521622188032
https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/
Чтобы проверить, установлен ли повар ie, вы не можете просто открыть Приложение> Печенье для проверки на повара ie. Повар ie будет установлен на localhost:3000
, поэтому, глядя на печенье для localhost:8080
, вы не увидите его. Вместо этого вам нужно открыть другую вкладку, которая указывает на localhost:3000
, а затем посмотреть на Приложение> Cookies там. Файлы cookie распределяются между вкладками, поэтому вы по-прежнему сможете просматривать файлы cookie, установленные на исходной вкладке localhost:8080
.
Получение кросс-файлов cookie для работы с Safari - отдельная борьба. Если вам нужна поддержка Safari, я предлагаю вам изучить это, так как вам может потребоваться принять совершенно другую стратегию.