如何在 jQueryMobile 应用程序中使用 Foursquare OAuth2 进行身份验证(无用户代理流程)
我正在使用 jQueryMobile 构建一个移动应用程序,并且打算通过 PhoneGap 将其部署到 iPhone 上。
我的问题是:如何在 jQueryMobile 应用程序中使用 OAuth2 协议通过 Foursquare 验证自己的身份?一种解决方案是使用 OAuth2 的用户代理流程,但这会迫使 iPhone 启动 Safari,从而不会停留在应用程序中。还有比这更好的解决方案吗?
I am building a mobile app with jQueryMobile and I intend to deploy it onto iPhone thanks to PhoneGap.
My question is : how can I authenticate myself with Foursquare using the OAuth2 protocol in my jQueryMobile app ? One solution would be to use the useragent flow of OAuth2 but this would force the iPhone to launch Safari and thus not stay within the app. Are there any better solutions than this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于基于 iPhone 或客户端应用程序(例如 PhoneGap 中的应用程序),
Foursquare 推荐其中一种方法。
这可能是使用 PhoneGap 的 ClientBrowser 插件进行处理,或者只是将他们提供的示例代码调整到 PhoneGap 插件中。
For an iPhone-based or client-side application like you would have in PhoneGap,
Foursquare recommends one of these methods.
This could probably be handled with the ClientBrowser plugin for PhoneGap or just adapting the sample code they have provided into PhoneGap plugins.
OAuth2 的核心意图之一是不允许像我们过去使用 XAuth 那样进行无浏览器身份验证流程。服务提供商希望消费者看到他们正在签署哪些权限,并希望控制该过程。
我对 Phonegap 的经验不是很丰富,因为我是一名本地开发人员,但如果有一种方法可以实例化 UIWebView 并将其显示给用户,那么您至少可以将 Web 交互保留在应用程序的“内部”。鉴于phonegap基本上显示了一个UIWebView,这应该是可能的。可以使用以下命令检查 UIWebView 中 html 的来源
One of the core intentions of OAuth2 is to not allow browserless authentication flow like we did with XAuth in the past. Service providers want consumers to see what permissions they are signing off on, and want control of that process.
I'm not very experienced with Phonegap, as I'm a native developer, but if there's a way of instantiating a UIWebView and showing it to the user, you could at least keep the web interaction 'inside' of the application. Given phonegap is basically showing a UIWebView this should be possible. It is possible to examine the source of the html within a UIWebView using