我正在爲TFS構建一個集線器擴展,它將與HP Fortify REST API聯繫並返回項目列表。 TFS服務器和Fortify服務器都在同一個域內運行。爲Team Foundation Server擴展配置CORS
Fortify的具有配置,其中IIS 8.5的一個獨特的排序是前端到Tomcat 8
我想要做的第一件事情是從TFS分機的呼叫,以獲得令牌來自Fortify。充分披露,我是一個JavaScript新手,所以這可能不是真棒:
$.ajax({
type: "POST",
url: "https://fortifyserver/ssc/api/v1/auth/obtain_token",
data: JSON.stringify({ name: "Teambuild" }),
contentType: "application/json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json, text/plain, */*");
xhr.setRequestHeader("Content-type", "text/plain");
xhr.setRequestHeader("Content-Encoding", "gzip");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("Authorization", "Basic ********************");
},
dataType: "json",
success: function (data) {
alert("Data Loaded: " + data);
}
});
當上面的腳本執行,我得到這個錯誤:
Failed to load resource: the server responded with a status of 401 (Unauthorized)
XMLHttpRequest cannot load https://fortifyserver/ssc/api/v1/auth/obtain_token. Response for preflight has invalid HTTP status code 401
我敢肯定這是CORS相關的,所以我的問題是Fortify配置的哪一部分應該調整? IIS或Tomcat或兩者?
來自Fortify代表:看起來有一個CORS支持的現有增強請求,並且 沒有可用時間的目標日期。 – AspiringTFSGuru
鑑於新發現的知識,我將考慮代理CORS請求。如果有效,我會將解決方案作爲我的答案發布。 – AspiringTFSGuru
我也瞭解到Fortify不支持jsonp,所以我的選擇變得非常有限。 – AspiringTFSGuru