移动HTML5应用如何使用OAuth 2协议?

时间:2012-04-27 18:07:36

标签: api mobile cordova oauth

我正在使用PhoneGap创建一个包含HTML,CSS和JS的移动应用程序。

我需要实现某种身份验证才能连接到我的API - 而且我认为OAuth 1或OAuth 2可以很好地完成这项工作。

然而,对于OAuth 1,我需要将消费者秘密存储在我的JS中,这会将其暴露给任何有大脑的人。

使用OAuth 2,我可以通过不使用一个秘密来揭露秘密,并简单地提供一个预先注册到API提供商的重定向URL。这保证了用户只能被发送回正确的URL(它们不能被劫持)。

但是,使用PhoneGap,我无法真正提供重定向网址,因为PhoneGap网址类似于file://www/index.html ...

如何在移动HTML5应用中使用Oauth 1或OAuth 2?

2 个答案:

答案 0 :(得分:4)

Libby有一个关于如何使用PhoneGap执行OAuth 1的好教程:

http://www.mobiledevelopersolutions.com/home/start/twominutetutorials/tmt5p1

至于您的消费者秘密,您可以将其存储在本机代码中,然后使用插件从JavaScript本机端检索它。已经有一个可用于iOS的名为Keychain

答案 1 :(得分:1)

对于本主题的新手,英特尔开发人员专区也有tutorial on using OAuth2 with PhoneGap/Cordova。为避免在应用程序中使用客户端密钥,您将使用OAuth2隐式流。从上面的链接

  

以下是在a中执行Oauth2隐式授权流程所涉及的步骤   Cordova * HTML5 app:

     
      
  1. 在Cordova InAppBrowser中打开Oauth2授权页面
  2.   
  3. 使用loadstart事件侦听器
  4. 从重定向的URL哈希片段中获取access_token   
相关问题