如何在我的网站上实现“使用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使用,并支持谷歌。