Для контекста: я пытаюсь вызвать межсайтовый вызов 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
Почему Chrome и Firefox не имеют одинакового поведения при вызове CORS ajax с базовой аутентификацией? ⇐ Jquery
Программирование на jquery
1763134666
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) запрос не отправляется, и отображается сообщение об ошибке [b]Доступ к ограниченному URI запрещен[/b]
Чтобы вызов работал в 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
/*
Подробнее здесь: [url]https://stackoverflow.com/questions/33019423/why-chrome-and-firefox-do-not-have-the-same-behaviour-with-cors-ajax-call-with-b[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия