Подтвердить что ты не робот

Как мне выполнить "вход в Google с моим сайтом?

На моем сайте я хочу разрешить пользователям входить в систему с учетной записью google. Я планирую использовать openid, но я бы хотел разрешить вход в Google, потому что он имеет больше преимуществ. В прошлом я заметил несколько сайтов, которые имеют возможность входа в систему с учетной записью google (gmail) и IIRC, хотя они НЕ поддерживали openID (но я мог ошибаться).

Как реализовать "вход с помощью google"?

4b9b3361

Ответ 1

Если вы планируете использовать OpenID, используйте это. Google уже является поставщиком OpenID 2.0.

Поставщик Google OpenID находится по адресу: https://www.google.com/accounts/o8/ud

(ПРИМЕЧАНИЕ. Нет смысла посещать этот URI в вашем браузере, но он работает для OpenID.)

Это в первую очередь адресовано на странице Accounts API, в которой также рассматриваются OAuth и гибридные и проприетарные системы входа. В зависимости от вашего сайта вы также можете использовать Friend Connect, который является контейнером OpenSocial, который внутренне использует OpenID для аутентификации.

Я, конечно, смещен в сторону Friend Connect, так как я DPE для этого проекта, но вам, вероятно, лучше всего будет напрямую обращаться к поставщику OpenID, если вы также не делаете что-то, что связано с социальным графиком.забастовкa >

Изменить на 2012 год: Вы хотите использовать OAuth 2.0 для входа в систему. GFC находится выключен.

Ответ 2

Возможно, вас заинтересует RPX, который является решением "все-в-одном", которое позволяет людям выбирать, какой поставщик удостоверений, который они хотели бы используйте для входа на свой сайт. Поддерживаются не только Google и OpenID, но и многие другие.

RPX заботится обо всех деталях взаимодействия с каждым поставщиком удостоверений и дает вам общий API для работы.

Ответ 3

Интеграция входа Google в ваше веб-приложение

Создайте проект и идентификатор клиента Google Developers Console.

Загрузите библиотеку платформы Google

Вы должны включить библиотеку Google Платформы на свои веб-страницы, которые интегрируют вход в Google.

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

Укажите идентификатор клиента вашего приложения

Укажите идентификатор клиента, который вы создали для своего приложения, в Google Developers Console с мета-элементом google-signin-client_id.

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

Примечание. Вы также можете указать идентификатор клиента приложения с параметром client_id метода gapi.auth2.init().

Добавить кнопку входа в систему Google

Самый простой способ добавить кнопку входа в систему Google на свой сайт - использовать автоматически отображаемую кнопку входа. Имея всего несколько строк кода, вы можете добавить кнопку, которая автоматически настраивается, чтобы иметь соответствующий текст, логотип и цвета для состояния входа пользователя и требуемых областей.

Чтобы создать кнопку входа в систему Google, которая использует настройки по умолчанию, добавьте элемент div с классом g-signin2 на страницу входа:

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

Дополнительная информация. можно найти здесь

Ответ 5

Я думаю, что вы хотите Google Friend Connect

edit: Нет, вы больше нет, так как он устарел.

Ответ 6

но я хотел бы разрешить вход в 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>

Ответ 7

Вы можете посмотреть в openId (http://openid.net/), который используется SO и поддерживается Google.