我正在尝试在iOS的PhoneGap应用程序中实现oAuth身份验证.我遇到了以下问题.我主要是为Google oAuth测试这个,但也试过了LinkedIn,结果也类似:
我可以启动InAppBrowser,登录我的Google帐户并授权该应用访问我的帐户.
InAppBrowser成功返回访问令牌,到期等等.当应用程序尝试重新发送访问令牌时,我在XCode中收到以下错误:
webView:didFailLoadWithError - -1004:无法连接到服务器.
当我运行的应用程序会出现这种情况无论是 iOS的模拟器或实际的iPhone.
我尝试过的:
尝试多个不同的代码示例,包括oauth.io提供的服务代码示例.
在单独的计算机上安装Xcode并尝试在那里.
尝试使用旧版本的PhoneGap
有趣的是,当我将"重定向URI"设置为:
http://localhost
..由Google API控制台定义,以及我所经历的所有OAuth实施教程.显然,InAppBrowser代码应该阻止页面加载并获取附加到URL字符串的数据.如果我将重定向交换为Google控制台提供的其他值(urn:ietf:wg:oauth:2.0:oob),它会重定向到实际页面,并指示将代码从输入复制并粘贴到我的URL栏.这在InAppBrowser的上下文中对我没有帮助.
我不知道下一步该尝试什么.有什么建议?
您是否尝试过OAuth.io等OAuth工具?
有一个Phonegap/Cordova SDK,允许您使用OAuth执行API调用,而且痛苦少得多.
创建帐户后,您可以在那里找到Phonegap SDK的指南:
https://oauth.io/getting-started?phonegap&None
这里的文档:
https://oauth.io/docs/api-reference/client/phonegap
关于那里的典型项目的分步教程:
https://oauth.io/docs/tutorials/client/phonegap
OAuth.io是Saas解决方案.如果您对开源解决方案更感兴趣,可以查看oauthd,即核心的开源版本.
希望有帮助:)