Почему Chrome и Firefox не имеют одинакового поведения при вызове CORS ajax с базовой аутентификацией?Jquery

Программирование на jquery
Ответить
Anonymous
 Почему Chrome и Firefox не имеют одинакового поведения при вызове CORS ajax с базовой аутентификацией?

Сообщение Anonymous »

Для контекста: я пытаюсь вызвать межсайтовый вызов API, который требует аутентификации пользователя с помощью базовой аутентификации.
Tomcat (7.0.43), обслуживающий API, настроен на разрешение вызовов между источниками с аутентификацией.
Я использую jquery.ajax, передавая следующие параметры:
xhrOtpions = {
url: "http://localhost:8080/api/v1/ressource",
dataType: 'json',
username: "user",
password: "pass",
xhrFields: {
withCredentials: true
}
}

В Chrome (45) запрос выполняется успешно, в Firefox (41) запрос не отправляется, и отображается сообщение об ошибке Доступ к ограниченному URI запрещен
Чтобы вызов работал в Firefox, я изменяю параметры, чтобы применить то, что я прочитал из связанной проблемы jQuery на GitHub:
xhrActiveBuilds = {
url: "http://localhost:8080/api/v1/ressource",
dataType: 'json',
username: "user",
password: "pass",
xhrFields: {
withCredentials: true
},
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic ")
}
}

Это ничего не меняет для FF, ошибка все та же.
В Chrome теперь отправлен предварительный запрос OPTIONS, который завершается с ошибкой с кодом запрещенного ответа 403.
Ниже конфигурации фильтра CORS сервера Tomcat:

CorsFilter
org.apache.catalina.filters.CorsFilter

cors.allowed.origins
http://localhost:1081


cors.allowed.methods
GET,POST,HEAD,OPTIONS,PUT


cors.allowed.headers
Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers


cors.exposed.headers
Access-Control-Allow-Origin,Access-Control-Allow-Credentials,Access-Control-Allow-Authorization


cors.support.credentials
true


cors.preflight.maxage
10



CorsFilter
/*



Подробнее здесь: https://stackoverflow.com/questions/330 ... all-with-b
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»