2016-08-14 15 views
1

セットアップ:紺碧 - モバイルアプリのクライアント - invokeApi無断

JSライブラリを使用して、私のC#Xamarinプロジェクトのクライアント側のログイン/認証の流れを次のよう。
CORSを設定し、最初のログインでは細かいです:

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

私は将来の使用のために返される「はuserId」と「mobileServiceAuthenticationToken」を格納します。

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

リターン:

401(無許可)

アム

問題:紺碧 - モバイルアプリのクライアントのinvokeApiを呼び出す

私は何かを欠いている?クライアントがバックエンドサービスを呼び出す準備ができていることを期待しています。

私は、ログイン後すぐに既存のクライアントを使用してみましたが、成功しませんでした。
また、新しいクライアントの "userId"と "mobileServiceAuthenticationトークン"を設定すると失敗します。

私が呼び出すカスタム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がcurrentUserを設定します – n00b

0

ログイン方法は、約束を返します。 invokeApiコールを行う前に、あなたが本当に約束が成就するのを待っていることを確認できますか?

関連する問題