[Login] 如何在我的網站上實現“使用Google登錄”?


Answers

您可能對RPX感興趣,它是一種全功能的一體化解決方案,可讓用戶選擇要使用哪個身份提供商登錄到您的網站。 不僅支持Google和OpenID,還支持其他許多功能。

RPX負責與每個身份提供者接口的所有細節,並為您提供一個通用的API。

Question

在我的網站上,我希望允許用戶使用Google帳戶登錄。 我打算使用openid,但是我想允許用google登錄,因為它有更多的好處。 我注意到在過去幾個網站有能力登錄谷歌(Gmail)帳戶和IIRC,雖然他們不支持openID(但我可能是錯的)。

如何實現“使用Google登錄”?




但我想允許與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>






Links