如何在我的网站上实现“使用Googlelogin”?

在我的网站上,我希望允许用户使用Google帐户login。 我打算使用openid,但是我想允许用googlelogin,因为它有更多的好处。 我注意到在过去几个网站有能力login谷歌(Gmail)帐户和IIRC,虽然他们不支持openID(但我可能是错的)。

如何实现“使用Googlelogin”?

如果您打算使用OpenID,请使用它。 Google已经是一个OpenID 2.0供应商。

Google的OpenID提供商位于: https : //www.google.com/accounts/o8/ud

(注意:在浏览器中访问该URI没有意义,但是它对OpenID有效。)

这主要在“ 帐户API”页面上解决,该页面还涉及OAuth以及混合和专有login系统。 根据您的网站,您可能还需要使用Google 朋友群 ,这是一个内部使用OpenID进行身份validation的OpenSocial容器。

我当然偏向于朋友连接,因为我是该项目的DPE,但是直接使用OpenID提供者可能会更好,除非您也在做涉及社交图谱的东西。

编辑2012年:您想要使用OAuth 2.0login 。 GFC正在closures 。

您可能对RPX感兴趣,它是一种全function的一体化解决scheme,可让用户select要使用哪个身份提供商login到您的网站。 不仅支持Google和OpenID,还支持其他许多function。

RPX负责与每个身份提供者进行交互的所有细节,并为您提供一个通用的API。

我相信你要找的是Google Accounts API 。

我想你想要的是Google朋友群

编辑:不,你已经不用了,因为它已经被弃用了。

但我想允许与Googlelogin

在这种情况下,添加下面的代码

HTML

<div id="mySignin" onclick="login()"><img src="google_image_here.png" alt="google" style="cursor:pointer;height: 60px;width: 309px;"/></div> 

JS

  <script type="text/javascript"> function login() { var myParams = { 'clientid' : 'YOUR_CLIENT_ID.apps.googleusercontent.com', 'cookiepolicy' : 'single_host_origin', 'callback' : 'loginCallback', 'approvalprompt':'force', 'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read' }; gapi.auth.signIn(myParams); } function loginCallback(result) { if(result['status']['signed_in']) { var request = gapi.client.plus.people.get( { 'userId': 'me' }); request.execute(function (resp) { /* console.log(resp); console.log(resp['id']); */ var email = ''; if(resp['emails']) { for(i = 0; i < resp['emails'].length; i++) { if(resp['emails'][i]['type'] == 'account') { email = resp['emails'][i]['value'];//here is required email id } } } var usersname = resp['displayName'];//required name }); } } function onLoadCallback() { gapi.client.setApiKey('YOUR_API_KEY'); gapi.client.load('plus', 'v1',function(){}); } </script> <script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/client.js?onload=onLoadCallback'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> 

将Googlelogin集成到您的Web应用程序中

创build一个Google Developers Console项目和客户端ID。

加载Google平台库

您必须在集成Googlelogin的网页上joinGoogle平台库。

 <script src="https://apis.google.com/js/platform.js" async defer></script> 

指定您的应用程序的客户端ID

使用google-signin-client_id元素指定您在Google Developers Console中为您的应用程序创build的客户端ID。

 <meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com"> 

注意:您还可以使用gapi.auth2.init()方法的client_id参数指定您的应用程序的客户端ID。

添加Googleloginbutton

向您的网站添加Googleloginbutton的最简单方法是使用自动呈现的loginbutton。 只需要几行代码,就可以添加一个button,该button可以自动configuration自己,以便为用户的login状态和请求的范围提供适当的文本,徽标和颜色。

要创build使用默认设置的Googleloginbutton,请将具有类g-signin2的div元素添加到login页面:

 <div class="g-signin2" data-onsuccess="onSignIn"></div> 

其他信息 可以在这里find

你可以看看openId( http://openid.net/ )这是什么SO使用,并支持谷歌。