Я пытаюсь создать расширение Chrome, которое подключается к моему веб-серверу по защищенному соединению для включения аутентификации пользователя.
Мой веб-сервер реализует решение Spring Security, и я смог получить доступ к своим службам, когда был включен фильтр безопасности.выкл. (http://1.2.3.4:8080/path/to/api
)
Когда я пытаюсь получить доступ к логину через https://1.2.3.4:8443/path/to/auth
, XHR получает код состояния 0
для асинхронных запросов и 'Error: INVALID_STATE_ERR: DOM Exception 11'
сразу после вызова xhr.open('POST', url, false);
(который является sync call) методом.
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = checkResponse;
xhr.onerror = handleError;
xhr.open('POST', loginUrl, true); // tried async and sync
xhr.withCredentials = 'true'; // tried with and without
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(loginContent);
Мой файл манифеста запрашивает разрешение для http://*/*
и https://*/*
(я даже пытался установить его на <all_urls>
).
Что я делаю не так и возможна ли такая попытка входа?
Редактировать / добавить
Я проверил попытку входа в URL-адрес https с подключаемым модулем Poster для FireFox и смог аутентифицировать себя на том же компьютере, на котором была предпринята попытка Chrome - поэтомусервер и путь авторизации доступны вне расширения Chrome.
Другое Редактирование / Добавление При изменении аутентификации на HTTP вместо HTTPS я смог аутентифицировать себя через расширение.Похоже, HTTPS-запросы блокируются, даже если я запросил необходимые разрешения.