2017-10-30 3 views
0

Azureモバイルアプリケーションでカスタムプロバイダとのログインを実装するために私はthis tutorialに従っています。バックエンドは完璧に動作しますが、新しいカスタムコントローラにログインしようとすると、私はそれを行うことができません。 XamarinとJava Androidで実装することは可能ですが、Objective CやSwiftでは実行できません。Microsoft AzureモバイルSDKカスタムプロバイダログインIOS

オブジェクトのMicrosoftのAzureモバイルSDKのMSClientonly has two login implementations.

私は両方を試してみましたが、運なしで、コールバックは常に空のクライアントを返します。 私はまた、独自のAPIで作成したトークンをログイン呼び出しに使用しようとしましたが、もう一度運がありません。ここで

は私スウィフトコードです:

let client = MSClient(applicationURLString: "https://myApp.azurewebsites.net") 
    client.login(withProvider: "custom", urlScheme: "myApp", parameters: ["username": "pau", "password": "123456"], controller: self, animated: true) {user, error in 
     print("USER", user) 
     print("ERROR", error) 
    } 

答えて

0

私たちは、それは本当に簡単ですが、msclientのドキュメントが十分に明確ではない、解決策を見つけました。必要なもの(ユーザー名、パスワード)を辞書としてトークンパラメータに渡すだけで済みます。

 Client.msClient.login(withProvider: "auth", token: params, completion: {user, error in 
      print("USER", user) 
      print("ERROR", error) 
      print("USER ID", user?.userId) 
      print("TOKEN", user?.mobileServiceAuthenticationToken) 

      if let user: MSUser = user { 
       guard let username: String = user.userId else { return } 
       guard let token: String = user.mobileServiceAuthenticationToken else { return } 
       Client.username = username 
       Client.msClient.currentUser = user 
       completion(true) 
      }else { 
       completion(false) 
      } 
     }) 
関連する問題