我已关注this tutorial在Azure移动应用上使用自定义提供程序实现登录。后端工作正常,但当我尝试登录我的新自定义控制器时,我无法做到这一点。可以使用Xamarin以及java Android来实现它,但是无法使用Objective C或Swift来实现它。
Microsoft Azure移动SDK上的对象MSClient
only has two login implementations.
我试过了两次但没有运气,回调总是返回一个空的客户端。 我也试图存储由自己的API创建的令牌使用它进行登录调用,但没有再好运。
这是我的Swift代码:
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 :(得分: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)
}
})