如何在我的网站上实施“使用谷歌登录”?

在我的网站上,我想允许用户使用Google帐户登录。我打算使用openid,但我想允许使用google登录,因为它有更多好处。我曾经注意到一些网站能够使用google(gmail)帐户和IIRC登录,虽然他们不支持openID(但我可能错了)。 如何实施“使用谷歌登录”?     
已邀请:
如果您打算使用OpenID,请使用它。 Google已经是OpenID 2.0提供商。 Google的OpenID提供商位于:https://www.google.com/accounts/o8/ud (注意:在浏览器中访问该URI没有意义,但它确实适用于OpenID。) 这主要在Accounts API页面上解决,该页面还涉及OAuth以及混合和专有登录系统。您可能还希望使用Friend Connect,这是一个OpenSocial容器,在内部使用OpenID进行身份验证,具体取决于您的站点。 我当然偏向于朋友连接,因为我是该项目的DPE,但你可能更好地直接使用OpenID提供商,除非你也做了涉及社交图的东西。 编辑2012:您希望使用OAuth 2.0进行登录。 GFC正在关闭。     
您可能对RPX感兴趣,这是一种一体化解决方案,可让人们选择他们想要用于登录您网站的身份提供商。不仅支持Google和OpenID,还支持许多其他功能。 RPX负责处理与每个身份提供者交互的所有细节,并为您提供了一个可以使用的通用API。     
将Google登录集成到您的网络应用中 创建Google Developers Console项目和客户端ID。 加载Google平台库 您必须在整合Google登录的网页上加入Google平台库。
<script src="https://apis.google.com/js/platform.js" async defer></script>
指定应用的客户端ID 使用google-signin-client_id元素在Google Developers Console中指定您为应用创建的客户端ID。
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
注意:您还可以使用gapi.auth2.init()方法的client_id参数指定应用程序的客户端ID。 添加Google登录按钮 向您的网站添加Google登录按钮的最简单方法是使用自动呈现的登录按钮。只需几行代码,您就可以添加一个按钮,该按钮会自动将其自身配置为具有用户登录状态和您请求的范围的相应文本,徽标和颜色。 要创建使用默认设置的Google登录按钮,请在登录页面中添加带有g-signin2类的div元素:
<div class="g-signin2" data-onsuccess="onSignIn"></div>
其他信息可以在这里找到 其他可能的解决方案是 使用OAuth 2.0访问Google API 身份验证协议 OAuth 2.0概述 OpenID Connect 用于服务器端Web应用程序的OAuth 2.0 适用于JavaScript Web Apps的OAuth 2.0 OAuth 2.0 for Mobile&amp;桌面应用     
我相信你要找的是Google Accounts API。     
我想你想要的是Google Friend Connect 编辑:不,你不再使用,因为它已被弃用。     
  但我想允许与Google签约 在这种情况下,请添加以下代码 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>
    
您可以查看SO使用的openId(http://openid.net/),并得到Google的支持。     

要回复问题请先登录注册