Я пытаюсь написать клиент JavaScript для Visual Studio Team Services REST API, который отправляет запросы AJAX на наш собственный сервер Team Foundation Server 2015, но я сталкиваюсь с крестом проблема с доменом.Проблема с перекрестным доменом AJAX с Visual Studio Team Services REST API
API требует учетных данных для аутентификации, но из-за соображений безопасности браузер блокирует мои запросы, поскольку параметр Access-Control-Allow-Origin
задан с помощью подстановочного знака *
.
Я попытался добавить этот параметр в заголовки ответов HTTP в диспетчере IIS, а также в файл TFS web.config (который на самом деле тот же), но я получил сообщение об ошибке, указывающее, что этот параметр имеет два разных значения (например: *
и http://localhost:58785
) и должен иметь только один. Я предполагаю, что это значение уже определено в коде библиотеки, к которому я не могу получить доступ, поскольку веб-служба TFS уже скомпилирована и запущена в IIS.
Я также попытался использовать разметку <location allowOverride="false">
в web.config, чтобы запретить переопределение конфигурации, но в этом случае TFS не запустится.
Кто-то уже спрашивал об этой проблеме here, а также отправил билет на uservoice но название API действительно неоднозначна (Visual Studio Интернет REST API), я не знаю, если этот парень говорит о реальной Visual Studio онлайн или если его случай такой же, как у меня (сам размещенный сервер TFS).
Мы уже реализовали некоторые функции на C#, которые работают хорошо, но теперь нам действительно нужно реализовать клиент JavaScript. Написание веб-сервиса и использование его в качестве прокси для запроса API - это для нас настоящий беспорядок, и мы не хотим этого делать.
Это настолько печально, что мы не можем отправлять запросы AJAX API из-за конфигурации, которую мы не можем изменить.
У меня такие же проблемы. Я надеялся, что смогу создать клиент JavaScript. –