IE 11 не отправляет куки с запросом CORS - PullRequest
0 голосов
/ 01 мая 2020

Я звоню ajax GET в настоящее время с localhost: 8090 со следующим:

$.ajax({
              url: 'https://dev-855592.okta.com/api/v1/sessions/me',
              method: 'GET',

              dataType: 'json',
              xhrFields: {
                   withCredentials: true
              },
              crossDomain: true,
              success : function(data){
                  console.log(data);
              },
              error : function(data){
                console.log('Session not found');
              },
        });

Поскольку это вызов Okta, для отправки запроса на получение файлов cookie требуются файлы cookie. Но IE 11 не отправляет файлы cookie в запросе.

Я уже пытался получить информацию: «Доступ к источникам данных через домены: включен» в настройках ie11 на доверенных сайтах. Это решение работает.

Но я не хочу, чтобы какое-либо влияние на конечного пользователя и предполагалось, что конечный пользователь уже принял сторонние куки, что должно быть лучшим способом для этого?

1 Ответ

0 голосов
/ 04 мая 2020

Если вы хотите включить запросы CORS в IE 11, ваш сервер должен прикрепить следующие заголовки ко всем ответам:

Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers: Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If
Access-Control-Expose-Headers: DAV, content-length, Allow

При желании вы также можете присоединить заголовок Access-Control-Max-Age указание количества секунд, в течение которых будет кэшироваться предварительный запрос, уменьшит количество запросов:

Access-Control-Max-Age: 3600

Вы можете обратиться к этой ссылке о реализации CORS для указания c сервер.

...