2016-10-19 1 views
0

Wir verwenden TeamCity 10.0.2, um unsere aktuellen Projekte zu erstellen/zu testen. Wir versuchen derzeit, die in TeamCity integrierte REST-API zu verwenden, um auf Informationen zu Builds zuzugreifen. Um diese REST-Aufrufe auszuführen, verwenden wir die http-Bibliothek von Angular 1.5, um die GET-Anforderungen auszuführen.Wie erhält man TeamCity 10, um einen Access-Control-Allow-Origin-Header zurückzugeben?

Wenn wir jedoch die GET-Anfrage ausführen, erhalten wir den Fehler "Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Daher ist' Null 'nicht erlaubt."

Was fand ich online war

rest.cors.optionsRequest.allowUnauthorized=true 
rest.cors.origins=* 

in unseren internen Eigenschaften in Teamcity hinzuzufügen. Wir haben dies getan, erhalten aber immer noch den Fehler. Beachten Sie, dass es funktioniert, wenn wir die gleiche URL nur mit einem Browser oder Postman verwenden; Das Problem tritt auf, wenn die Anforderung von Angular unter Verwendung von

$http.get(teamCityUrl, {headers:{"Authorization": "token"}}); 

ausgeführt wird. Irgendwelche Ideen?

+0

Wenn Sie diesen HTTP-Aufruf ausführen, sehen Sie den Header Access-Control-Allow-Origin? Der Grund, warum es im Postboten funktioniert, ist, dass der CORS-Header vom Browser aus Sicherheitsgründen benötigt wird, während Postman die Beschränkung nicht auferlegt. –

+0

Auch einige Browser werden * in diesem Header ablehnen, also versuchen Sie nur die Domain festzulegen, auf der Sie sich befinden Hosting Ihrer Angular App –

+0

Nein, ich sehe nicht die Kopfzeile der Antwort. Das heißt, wenn ich die Anfrage nur mit dem Browser (nicht eckigen) tun, funktioniert es, aber ich sehe immer noch nicht die Antwort. In Bezug auf die Einstellung der Domäne ist TeamCity der Server und ich habe keine Kontrolle über seine API und was sie antwortet. –

Antwort

0

Es ist für mich mit dieser Konfiguration arbeiten:

rest.cors.optionsRequest.allowUnauthorized = true
rest.cors.origins = *

, dass die Antwort-Header macht 'zu haben Zugriffssteuerung-Erlauben-Ursprung: * '. Ich benutze TeamCity 10.0.4.

Verwandte Themen