我正在为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