oAuth使用Google API创建混合应用程序

时间:2014-10-01 07:05:45

标签: javascript android html5 authentication oauth

我正在尝试使用google oAuth创建登录页面。 为此我创建了一个clientID。 在ClientID中,我已经为Android创建了,因为我相信我的应用程序将在Android设备上运行。

创建客户端ID - >已安装的应用程序 - >的Android

我已经完成了keytooling并使用SHA1签名并创建了一个clientID

然后我创建了公共API访问。在这里我创建了一个 Android Key 。我提供了com名称和SHA1详细信息。由于我使用的是 INTEL XDK ,因此很容易从那里获得COM名称窗格。

在我的javascript代码中,我已经做了类似的事情来构建URL。

  

var clientID =“client_id =”; var responeType =   “&安培; RESPONSE_TYPE =代码”; var scope =“& scope = profile”; var范围   = “&安培;范围= https://www.googleapis.com/auth/calendar.readonly”; var redirectURL =“& redirect_uri = urn:ietf:wg:oauth:2.0:oob”; var url   = “?https://accounts.google.com/o/oauth2/auth” + clientID的+ responeType +范围+的redirectUrl + “&安培; approval_prompt =汽车”;

然后我使用XHRRequest来调用此URL

  

var xhr = new XMLHttpRequest(); xhr.open( “GET”,网址,虚假);
  xhr.onload = function(){         if(xhr.readyState == 4&& xhr.status == 200)         {
           的console.log(this.response);             var resp = this.response;

  }   }     xhr.onerror = function(e)   {
alert("Error : "+e)   }   xhr.send();

我有一个带有事件监听器的按钮。 我是android的新手,尤其是oAuth。我遇到了各种各样的错误 如

请复制此代码,切换到您的应用程序并将其粘贴到那里:

当我点击按钮时,我没有看到谷歌要求许可的任何登录页面 但我可以看到数据来自console.log()。

我在这里做错了什么。

如果有任何方法可以使用html5创建Hybrid APp,请分享。 如果我写错了也请告诉我。请指导我。

-S

1 个答案:

答案 0 :(得分:0)

您可以将此jQuery插件用于Oauth2:https://github.com/krisrak/jquery-cordova-oauth2

适用于Intel XDK

您所要做的就是使用您的Oauth客户端参数修改下面的调用,回调将使用access_token开始拨打电话

$.oauth2({
    auth_url: 'https://accounts.google.com/o/oauth2/auth',
    response_type: 'code',
    token_url: 'https://accounts.google.com/o/oauth2/token',
    logout_url: 'https://accounts.google.com/logout',
    client_id: 'CLIENT-ID-FROM-GOOGLE',
    client_secret: 'CLIENT-SECRET-FROM-GOOGLE',
    redirect_uri: 'http://www.yourwebsite.com/oauth2callback',
    other_params: {scope:'profile'}
}, function(token, response){
    makeAPICalls(token);
}, function(error, response){
    alert(error);
});