NTLM аутентификация с помощью jsdom - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел бы сделать несколько тестовых модулей с моими компонентами Vue.Мое приложение веб-браузера использует некоторые ajax-запросы XMLHttpRequest для получения данных с сервера.Мой сервер - Sharepoint и использует аутентификацию Windows NTLM.

Если я запускаю свое приложение в браузере, нет проблем: браузер обрабатывает аутентификацию и выполняет мои запросы.

Однако, когда я пытаюсьvue-cli-service test:unit для проверки моих компонентов, мои ajax-запросы не выполняются.Он основан на jsdom, и мои запросы возвращают ошибку 401.

Если я добавлю следующий код в свой компонент:

var xhttp = new XMLHttpRequest();
xhttp.withCredentials = true;
xhttp.onreadystatechange = function() {
  console.log("onreadystatechange => ", this.readyState, this.status)
};
xhttp.open("GET", "https://my.server.com/", true);
xhttp.send();

Я получу:

onreadystatechange =>  1 0
onreadystatechange =>  2 401
onreadystatechange =>  3 401
onreadystatechange =>  4 401

Я хорошо предоставил свои учетные данные для этого запроса, потому что он предназначен только для тестов.

Обратите внимание, что я не могу добавить персонализированные заголовки на свой сервер (например, Access-Control-Allow-*), поэтому я изменил функцию validCORSHeaders() сjsom чтобы всегда возвращать true.

Я бы хотел использовать jsdom как серверную систему, которая будет игнорировать все вещи CORS ... Кажется, мы не можем / они не хотят: отключить проверку CORS в jsdom на nodejs

Есть идеи о том, как я могу тестировать свои компоненты Vue, не имея дело с CORS или учетными данными?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...