Вход в Google+ с проблемой обратного вызова JavaScript

Я работаю над функцией, которая позволяет пользователям входить на мой сайт с помощью своей учетной записи Google.

Мой код основан наДокументация Google (другие параметры входа в систему () находятся в метатегах).

function login() {
  gapi.auth.signIn({'callback':
    function (authResult) {
      if (authResult['status']['signed_in']) {
        console.log('Okay');
      }else {
        console.log('Error');
      }
    }
  });
}

Когда я вызываю login (), появляется всплывающее окно Google, я утверждаю условия своего приложения, и все работает нормально.

Но обратный вызов вызывается дважды:

1-й случай: если я никогда не утверждал разрешения для приложений, то обратный вызов будет вызываться при открытии всплывающего окна И когда я буду утверждать разрешения. Таким образом, он будет писать «Ошибка» и «Хорошо».2-й случай: если я уже одобрил разрешения, он напишет «Хорошо» два раза.

Я добавил опцию'approvalprompt': 'force' к функции входа в систему (). Функция обратного вызова больше не вызывается дважды, но вынуждает пользователя утверждать разрешения приложения, даже если они были предварительно одобрены. Так что это не удобно для пользователя.

Есть ли удобный для пользователя способ подтвердить разрешения приложения один раз без двух обратных вызовов?

Спасибо.

Ответы на вопрос(6)

Ваш ответ на вопрос