javascript - Använd webbtjänst på IIS med Windows-autentisering med TypeScript


Jag försöker göra en GET-förfrågan från en Angular2-app till en webbservice som är värd på en IIS-server i företagsnätverket. Jag tillbringade en stor del av dagen med att läsa om CORS och preflight-förfrågningar. Jag fick det till den punkt där servern skickar tillbaka ett 200-svar på preflight-förfrågan, men när klienten gör det andra anropet för att faktiskt begära resursen får jag 401 Unauthorized.

Jag gör förfrågan på detta sätt:

let headers = new Headers({ 'withCredentials': true });
let options = new RequestOptions({ headers: headers });

    return this.http.get(url, options)
                    .map(this.extractData)
                    .catch(this.handleError);

Förflygningsförfrågan/-svar

Följande begäran/svar

Jag var inte säker på om jag hade konfigurerat säkerheten korrekt på IIS-maskinen, men när jag testade med ett enkelt anrop med jQuery/ajax hade jag inga problem och fick tillbaka datan genom att använda (där withCredentials och crossDomain är avgörande):

   $.ajax({
        type: "GET",
        url: "http://xxx:8087/odata/Users",
    xhrFields: {
       withCredentials: true
    },
    crossDomain: true,
        success: function(msg) {
           ...
        },
        error: function(e){
           ...
        }
    });

När jag tittar på den länkade bilden med förfrågan/svar gjord med TypeScript, är det något uppenbart jag missar för att få detta att fungera?