Запретить автоматический вход в Google Plus

Я пытаюсь реализовать вход в Google+ для веб-сайтов.

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

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

Проблема в том, что какой бы скрипт я ни пробовал, Google всегда вызывает и НЕЖЕЛАТЕЛЬНЫЙ автоматический вход в систему. Я хочу, чтобы он запускался только тогда, когда пользователь нажимает кнопку, и предотвращал автоматический запуск событий Google.


person eddyuk    schedule 18.02.2015    source источник
comment
Я получаю электронную почту и обрабатываю ее на стороне сервера, что это значит? И что означает «автоматический вход»? Что вы имеете ввиду под словом "авто"?   -  person Taylan Aydinli    schedule 18.02.2015
comment
Существует пример кода, предоставленный платформой google+, как получить электронную почту пользователя. Я отправляю это письмо на МОЙ сервер, чтобы создать учетную запись пользователя. Под автоматическим - я имею в виду, когда пользователь попадает на страницу, где находится кнопка входа в Google+ - скрипт Google пытается автоматически войти в систему этого пользователя, не нажимая кнопку   -  person eddyuk    schedule 18.02.2015
comment
Какой пример кода вы используете? Можете ли вы опубликовать ссылку здесь?   -  person Taylan Aydinli    schedule 18.02.2015
comment
developers.google.com/+/web/people   -  person eddyuk    schedule 18.02.2015


Ответы (1)


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

Если вы настаиваете на использовании библиотеки JavaScript Google+, вот один из вариантов: кнопка входа в 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. чтобы выйти из нее, или вы можете попробовать сделать что-то еще в зависимости от того, как вы хотите, чтобы ваше приложение вело себя.

person Taylan Aydinli    schedule 18.02.2015