Расширение tfs Origin 'null', следовательно, не разрешен доступ - PullRequest
0 голосов
/ 01 октября 2018

Я сталкиваюсь с проблемой при попытке вызвать сервис Teamcity REST через расширение TFS.

Я также настроил TeamCity: rest.cors.origins = "http://my.tfsserver" rest.cors.optionsRequest.allowUnauthorized = true

В расширении TFS я вызываю следующий URL: http: //my.teamcity.server:80/app/rest/latest/projects с использованием «XMLHttpRequest»

   const pair :string=this.settings.username+":"+this.settings.password;      
   const encodedCreds:string = btoa(pair);
   const basicAuthValue:string = "Basic "+ encodedCreds;       

    const apiurl:string="/app/rest/latest/projects";
    const completeUrl:string = this.settings.urlTeamCity+apiurl;       

    const  xhr = new XMLHttpRequest();
    xhr.open("GET",completeUrl,true);        

    xhr.setRequestHeader('Authorization', basicAuthValue);
    xhr.setRequestHeader("Access-Control-Allow-Origin" ,"http://my.tfsserver");
    xhr.onload=function(){
        console.log(xhr.responseText);
    }
    xhr.onerror=function(){
        console.log(xhr.response);
    }
    xhr.send();

Я получаю следующую ошибку в консоли:

Не удалось загрузить http://my.teamcity.server:80/app/rest/latest/projects: Ответ на предпечатную проверку недействителен (перенаправление)

В журнале отдыха TeamCity у меня есть следующие две строки:

[2018-10-01 14: 12: 49,891] DEBUG [p-nio-80-exec-9] - er.rest.APIController / rest-api - получил запрос CORS из источника 'null', но этот источник не разрешен. Добавьте источник во внутреннее свойство rest.cors.origins (через запятую), чтобы доверять приложениям, размещенным в домене.Текущие допустимые источники: Включенные источники CORS: [http://my.tfsserver]

[2018-10-01 14: 12: 49,892] DEBUG [p-nio-80-exec-9] - er.rest.APIController / rest-api - обработка запроса REST API завершена за 1 мс, код состояния: 302, запрос: OPTIONS '/ app / rest / latest / projects', от клиента 10.69.152.71: 59256, без проверки подлинности

Исходя из последней строки, я изменяю свой код на:

...
   xhr.open("GET",completeUrl,true,this.settings.username,this.settings.password)
   xhr.withCredentials=true;
...

, но по-прежнему получаю одинаковую ошибку в обеих Chrome-консолии журнал команд команды города.

в консоли Chrome, на вкладке сети, я вижу, что заголовок «origin» пуст, но я не понимаю, почему?

enter image description here

Спасибо adavance за любую помощь:)

...