2015-11-13 36 views
-2

我寫了一個Node應用程序,允許我使用Visual Studio Team Services進行身份驗證(使用Microsoft帳戶)。我知道我已成功通過我的組織帳戶(即joe @contoso.com)登錄,因爲我收到訪問令牌和個人資料信息,例如我的姓名和電子郵件地址。如何使用從VSO API接收的身份驗證令牌?

當我試圖通過對VSO的API調用(使用承載令牌策略)使用訪問令牌時,我收到來自該服務的401錯誤並顯示以下消息。

TF400813: The user 'Windows Live ID\[email protected]'; is not authorized to access this resource.

好像鑲嵌在訪問令牌中的帳戶不是一個我簽署,這是超級混亂。任何人都知道這裏發生了什麼?

FWIW,我試圖做一個工作項查詢請求。

回答

0

我是如何傳遞POST正文的。我認爲這不應該導致401,但一旦我修好了,我的電話按預期工作。與VSO API無關。

0

我意識到這是一個老話題,但對於那些從谷歌來到這裏的人來說。 這取決於您如何在後續調用中爲您的憑證設置訪問令牌。

以下對我來說訣竅。

var connection = new VssConnection(new Uri("https://youraccountname.visualstudio.com"), new VssOAuthCredential("accessToken")); 
var client = connection.GetClient<ProjectHttpClient>(); 
var projects = client.GetProjects().Result; 
+0

在您的示例中,「accessToken」變量代表什麼類型的值?如果我只是用授權過程中接收到的令牌替換「accessToken」,我會得到一個錯誤「沒有給出的參數對應於所需的形式參數'grant'...」 –

相關問題