rub*_*hak 9 authentication server-side azure ios google-plus
我正在尝试将服务器端的Google+登录集成到我的iOS应用中.
这就是我做的:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: NSString?, annotation: AnyObject) -> Bool
{
return GPPURLHandler.handleURL(url, sourceApplication: sourceApplication, annotation:annotation)
}
Run Code Online (Sandbox Code Playgroud)
//在视图控制器中@IBOutlet弱var gpLoginView:GPPSignInButton!
googlePlus = GPPSignIn.sharedInstance()
googlePlus.shouldFetchGooglePlusUser = true
googlePlus.clientID = "CLIENT-ID"
googlePlus.homeServerClientID = "HOME-CLIENT-ID"
googlePlus.scopes.append(kGTLAuthScopePlusLogin)
googlePlus.delegate = self;
func finishedWithAuth(auth: GTMOAuth2Authentication!, error: NSError!)
{
if error != nil
{
println("[GoogleAuthentication] Error: \(error)")
}
else
{
var serverCode = GPPSignIn.sharedInstance().homeServerAuthorizationCode
if serverCode == nil
{
println("[GoogleAuthentication] homeServerAuthorizationCode is missing")
googlePlus.disconnect()
}
else
{
client.loginWithProvider("google", token: ["access_token" : serverCode])
{
user, error in
println("[Azure::loginWithToken] Result. User=\(user). Error=\(error).")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的google开发者控制台中有两个凭据.一个用于iOS应用程序,另一个用于Web应用 来自iOS应用程序的ClientID在googlePlus.ClientID中指定.来自Web应用程序的ClientID在homeServerClientID中指定.此外,Azure Mobile服务标识配置中指定了相同的ClientID和密钥.
此外,还使用应用程序包的名称创建URL架构.
我得到认证的客户端部分成功通过,并能够获得homeServerAuthorizationCode,但当我尝试做服务器端部分时,我从azure移动服务收到错误.我得到的错误是:Error Domain = com.Microsoft.WindowsAzureMobileServices.ErrorDomain Code = -1301"服务器返回错误." UserInfo = 0x170464c80 {NSLocalizedDescription =服务器返回错误.}.
请帮忙弄清楚我做错了什么?
谢谢,鲁本
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |