2014-09-22 51 views
0

我有一個Azure移動服務設置,並且已經在線示例進行身份驗證。我調用AuthenticationContext.AcquireToken並獲取一個令牌。然後,我使用以下設置標題:使用aad的Azure移動服務「不支持'承載'HTTP身份驗證方案」錯誤

HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(「Bearer」,AquireAccessToken());

但是我得到一個401返回,並且在Azure日誌中,我得到了'The'承載'HTTP認證方案不受支持「。我錯過了什麼?

回答

0

如果您正在使用服務來調用移動服務,爲什麼不使用應用程序密鑰而不是登錄過程?

您可以在您的要求設置一個頭,像這樣:

HttpClient.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "<YOUR APP KEY>"; 

你可以從你的門戶應用的關鍵。當您在儀表板視圖上單擊窗口底部的按鈕以「管理密鑰」。

如果您想要登錄爲服務,但是如果您需要代表用戶登錄,那麼您需要登錄認證路線。您還需要確保各種表和API的權限允許應用程序密鑰訪問級別。

或者,您可以使用帶主密鑰的X-ZUMO-MASTER標頭獲得服務的管理權限。

0

移動服務不支持在授權標頭中傳遞令牌。相反,請考慮使用POST method for the login endpoint。如果需要,移動服務SDK將使其成爲登錄方法的重載。

您能否評論一下您正在使用的示例?我們的標準"Get Started with Authentication" tutorial顯示瞭如何在不直接處理訪問令牌的情況下進行登錄。我們也有使用提供商SDK獲取令牌並使用上述過載將其傳遞給移動服務的教程。例如,我們有本教程Microsoft AccountAzure Active Directory

+0

移動服務將從幾個不同的應用程序中調用,但我正在使用的第一個服務是一項服務。我正在使用[MSDN示例]中的示例(http://msdn.microsoft.com/zh-cn/library/azure/dn646737.aspx#BKMK_Daemon)。是否有無人值守服務的代碼示例?我得到了登錄部分,但是如何在通過身份驗證的請求上傳遞authenticationToken?謝謝你的幫助! – jimox 2014-09-23 00:45:55

+0

由於我之前提到的方法而具有移動服務令牌後,您可以在調用服務時將其傳遞給X-ZUMO-AUTH頭。 – mattchenderson 2014-09-23 16:45:11