2016-08-14 218 views
1

設置:Azure的移動應用客戶端 - invokeApi未經授權

使用JS庫和下面的我的C#Xamarin項目的客戶端登錄/驗證流程。
CORS是建立和初始登錄是罰款:

this.client = new WindowsAzure.MobileServiceClient(<endpoint>); 
this.client.login(<provider>); 

我存儲返回「用戶id」和「mobileServiceAuthenticationToken」以備將來使用。

問題:

調用天青-移動應用程序的客戶端的invokeApi:

this.client.invokeApi("myCustomerController", { method: 'GET' }) 

回報:

401(未授權)

上午我錯過了什麼?我期待客戶準備打電話給我的後端服務。

我試過登錄後直接使用現有的客戶端沒有成功。
設置新客戶端的「userId」和「mobileServiceAuthentication token」時也失敗。

我調用的自定義ApiController在從其他地方(如C#MobileServiceClient)調用時工作正常。

+0

獲取invokeApi調用的跟蹤並查看標頭是什麼。可能發佈他們? –

回答

0

我認爲登錄會讓客戶端準備好使用,但不是在我的情況。我必須調用login,獲取結果中返回的userId和token,然後在進行任何未來請求之前手動設置currentUser。

this.client = new WindowsAzure.MobileServiceClient("https://..."); 
this.client.currentUser = { 
     userId: "xxxxx", 
     mobileServiceAuthenticationToken: "xxxxx"} 
+0

上週我在客戶端的最新版本中使用了該功能,並且不需要手動設置currentUser屬性。這可能是在更高版本中修復的問題。你使用的是什麼版本的客戶端? –

+0

當承諾滿足時,login會設置當前用戶 – n00b

0

登錄方法返回一個承諾。你能否確認你確實在等待承諾履行前繼續做一個invokeApi電話?

相關問題