我正在尝试实现一个 Azure 移动应用程序,并正在使用 Swift 2 开发 iOS 客户端。
我通过 Azure 门户将 Twitter 配置为身份提供商,并尝试使用客户端 token 和 WindowsAzureMobileService 框架对我的 iOS 应用程序进行授权/身份验证;即,我已经在 iOS 客户端上使用了 TwitterKit,并直接通过 Twitter 进行了身份验证,现在想要使用其中的 token 来呈现给 Azure 网关。下面的代码(或者与我实际的 Azure URL 引用类似的代码)编译并运行良好:
if let sessionToken = Twitter.sharedInstance().sessionStore.session()?.authToken {
let token = ["authenticationToken" : sessionToken]
let msClient = MSClient(applicationURLString: "https://someapp.azurewebsites.net", gatewayURLString: "https://somegateway.azurewebsites.net", applicationKey: "")
msClient.loginWithProvider("twitter", token: token, completion: { (user: MSUser?, error: NSError?) -> Void in
print("User: \(user)")
print("Error: \(error?.userInfo)")
})
}
但是返回错误(error: NSError?)如下
Error: Optional([NSLocalizedDescription: The server returned an error.])
所以我的问题是如何诊断这个问题?我可以在 Azure 门户或其他任何地方获取/设置任何内容吗?还有什么明显的事情表明我做错了吗? (例如,我不确定 token 方向设置是否正确)。
最佳答案
This doc on SSO with AAD指示您使用 access_token
作为 token 的 key 。
您可以尝试更改为使用此代码吗?
let token = ["access_token" : sessionToken]
关于ios - 使用 Swift 2 和 WindowsAzureMobileService.framework 在 iOS 客户端上实现 Azure 移动应用程序身份验证(使用 Twitter)(客户端模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32933564/