我想查詢的Visual Studio Online中的REST API,並希望在此msdn article描述通過OAuth授予我的用戶:問題與Visual Studio在線的OAuth無法獲得訪問令牌
的Visual Studio Online使用Oauth 2.0協議爲用戶授權您的應用程序並生成訪問令牌。從應用程序調用REST API時使用此標記。
我使用JavaScript來嘗試實現這一目標如下(略去了和代碼的onload功能/ clientSecret似乎被設置爲正確的值):
var xhr = new XMLHttpRequest();
var params = 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' +
'&client_assertion={' + clientSecret + '}' +
'&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer' +
'&assertion={' + code +'}' +
'&redirect_uri=' + encodeURIComponent(redirectUri);
xhr.open('POST','https://app.vssps.visualstudio.com/oauth2/token');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.setRequestHeader('Accept', 'application/json');
xhr.onload = //onloadfunction
xhr.send(params);
然而,我不斷收到以下響應:
POST https://app.vssps.visualstudio.com/oauth2/token 400(錯誤請求) { 「錯誤」: 「invalid_client」, 「ErrorDescription中」: 「無效的客戶端的身份驗證令牌」}
我相信我是缺少在這裏簡單的東西。我嘗試了各種組合,但似乎沒有任何幫助。