Próbuję napisać klienta JavaScript dla REST API Visual Studio Team Services, który wysyła żądania AJAX do naszego hostowanego Team Foundation Server 2015, ale mam do czynienia z krzyżem problem z domeną.Problem z krzyżową domeną AJAX z Visual Studio Team Services REST API
Interfejs API wymaga poświadczeń do uwierzytelnienia, ale ze względów bezpieczeństwa przeglądarka blokuje moje żądania, ponieważ parametr Access-Control-Allow-Origin
jest ustawiany za pomocą symbolu wieloznacznego *
.
Próbowałem dodać ten parametr w nagłówkach odpowiedzi HTTP w Menedżerze usług IIS, a także w pliku TFS web.config (który jest w rzeczywistości taki sam), ale wystąpił błąd informujący mnie, że ten parametr ma dwie różne wartości (np .: *
i http://localhost:58785
) i powinny mieć tylko jedną. Domyślam się, że ta wartość jest już zdefiniowana w kodzie biblioteki, do której nie mam dostępu, ponieważ usługa sieciowa TFS jest już skompilowana i uruchomiona na IIS.
Próbowałem również użyć znacznika <location allowOverride="false">
w web.config, aby zabronić nadpisywania konfiguracji, ale w takim przypadku TFS nie uruchomi się.
Ktoś już pytał o tym numerze here a także pisał bilet na uservoice ale jak sama nazwa API jest bardzo niejednoznaczne (Visual Studio Online REST API), ja nie wiem, czy ten facet mówi o prawdziwym Visual Studio online lub jeśli jego przypadek jest taki sam jak mój (hostowany serwer TFS).
Mamy już zaimplementowane niektóre funkcje w C#, które działają dobrze, ale teraz naprawdę musimy zaimplementować klienta JavaScript. Pisanie usługi internetowej i używanie jej jako proxy do wysyłania zapytań do API jest dla nas prawdziwym bałaganem i nie chcemy tego robić.
To jest takie smutne, że nie możemy wysyłać żądań AJAX do API ze względu na konfigurację, której nie możemy zmienić.
Mam dokładnie takie same problemy. Miałem nadzieję, że będę mógł stworzyć klienta JavaScript. –