2017-10-30 20 views
0

Ich habe this tutorial gefolgt, um eine Anmeldung mit benutzerdefinierten Anbieter auf einer Azure Mobile App zu implementieren. Das Backend funktioniert perfekt, aber wenn ich versuche, mich bei meinem neuen benutzerdefinierten Controller anzumelden, kann ich das nicht tun. Es ist möglich, es mit Xamarin und auch mit Java Android zu implementieren, aber es ist keine Möglichkeit, es mit Objective C oder Swift zu machen.Microsoft Azure Mobile SDK benutzerdefinierte Anbieter Login IOS

Das Objekt MSClient auf Microsoft Azure Mobile SDK only has two login implementations.

Ich habe beide versucht, aber ohne Glück, kehrt der Rückruf immer eine leere Client. Ich habe auch versucht, das Token zu speichern, das von der eigenen API erstellt wurde, benutze es für den Login-Aufruf, aber ohne Glück wieder.

Hier mein Swift-Code ist:

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) 
    } 

Antwort

0

wir eine Lösung gefunden, dann ist es wirklich einfach, aber die msclient Dokumentation ist nicht klar genug. Sie müssen nur, was Sie benötigen (d. H. Benutzername, Passwort) als Wörterbuch im Token-Parameter übergeben.

 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) 
      } 
     }) 
Verwandte Themen