2015-02-18 5 views
1

Я пытаюсь внедрить Google+ для входа на веб-сайты.Запретить автоматический вход в Google плюс

Мой желаемый поток:

  1. земли пользователя на странице входа
  2. Переходов Google Вход кнопки
  3. я получаю электронную почту и ее обработку на стороне сервера

Проблема заключается в том, независимо от того, какой скрипт я пытаюсь использовать, Google всегда вызывает и НЕВОЗДАЕТ автозапись. Я хочу, чтобы он был инициирован только тогда, когда пользователь нажимает кнопку и предотвращает автоматическое инициирование событий Google.

+0

«Я получаю электронную почту и обрабатываю ее на стороне сервера», что это значит? И что означает «автоподпись»? Что вы подразумеваете под «авто»? –

+0

Существует пример кода, предоставленный платформой google +, как получить электронную почту пользователя. Я отправляю это сообщение на МОЙ сервер, чтобы создать учетную запись пользователя. Авто - я имею в виду, когда пользователь приземляется на страницу, на которой находится кнопка google +, - скрипт Google пытается автоматически войти в этот пользователь без его нажатия на кнопку – eddyuk

+0

Какой образец кода вы используете? Можете ли вы опубликовать ссылку здесь? –

ответ

2

Вы отмечаете, что по умолчанию используется функция входа в систему Google+. Если вам нужен полный контроль над этим сигналом, вам необходимо использовать Google Plus API и вручную пройти весь процесс OAuth. Я не знаю, на какой платформе вы работаете, но для Google+ API существует много client libraries.

Если вы настаиваете на использовании библиотеки Google+ JavaScript, выберите один из вариантов: кнопка входа в Google Plus имеет атрибут data-callback. В эту функцию обратного вызова передается object. Этот объект имеет свойство status, которое вы можете использовать, чтобы проверить, был ли вход выполнен «автоматически», как вы упоминаете, или был сделан после того, как пользователь нажал кнопку входа.

function google_plus_signin_callback(authResult){ 
    if(authResult.status.method == 'AUTO'){ 
     // handle auto sign-in scenario 
    }else if(authResult.status.method == 'PROMPT') { 
     // handle user initiated sign-in scenario 
    } 
} 

Так что, если пользователь был подписан автоматически, вы можете использовать метод sign out подписать ее, или вы можете попробовать сделать что-то другое в зависимости от того, как вы хотите, чтобы ваше приложение себя.

Смежные вопросы