2016-08-14 238 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电话?

相关问题