[英]Connecting to TFS Api in Angular, 401 unauthorized
我在第一個Angular應用中遇到了API獲取請求的問題。 我正在嘗試從服務器獲取所有項目,我具有正確的url(即使在郵遞員中也可以在我的瀏覽器中使用),我也從TFS帳戶中生成了令牌,但是,我仍然得到了一個當我運行應用程序時,在控制台中未授權401。 任何幫助將不勝感激。 我需要提供Windows身份驗證嗎? 在Angular上甚至可能嗎?
這是我嘗試運行的方法。 所有導入都在那里,該方法從OnInit調用。
getProjects(): void {
const authHeader = new HttpHeaders();
authHeader.append('Authorization', 'Bearer ' +
`perfectly valid token here`);
this.http.get('perfectly valid server url here/_apis/projects?api-
version=1.0', {headers: authHeader}).subscribe(data => {
this.results = data['results'];
});
}
我已經使用基本身份驗證來工作了。
getProjects(): void {
const authHeader = new HttpHeaders();
authHeader.append('Authorization', 'Basic ' +
base64('Username:Password'));
this.http.get('perfectly valid server url here/_apis/projects?api-
version=1.0', {headers: authHeader}).subscribe(data => {
this.results = data['results'];
});
}
您可以嘗試提供Windows身份驗證,它在Angular上可用。 並在項目中啟用CORS。
然后,檢查下面的跨域資源共享(CORS)示例,以在代碼中添加授權:
$( document ).ready(function() {
$.ajax({
url: 'https://fabrikam.visualstudio.com/defaultcollection/_apis/projects?api-version=1.0',
dataType: 'json',
headers: {
'Authorization': 'Basic ' + btoa("" + ":" + myPatToken)
}
}).done(function( results ) {
console.log( results.value[0].id + " " + results.value[0].name );
});
});
您可以參考這些文章以進行進一步的故障排除:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.