Я работаю над функцией, которая позволяет пользователям регистрироваться на моем сайте со своей учетной записью Google.
Мой код основан на документации Google (другие параметры signIn() находятся в метатегах).
function login() {
gapi.auth.signIn({'callback':
function (authResult) {
if (authResult['status']['signed_in']) {
console.log('Okay');
}else {
console.log('Error');
}
}
});
}
Когда я вызываю login(), появляется всплывающее окно Google, я одобряю условия моего приложения, и все работает нормально.
Но обратный вызов вызывается дважды:
- 1-й случай: если я никогда не одобрял разрешения приложений, тогда обратный вызов будет вызван при открытии всплывающего окна И когда я буду одобрять разрешения. Поэтому он будет писать "Ошибка" и "Хорошо".
- Второй случай: если я уже одобрил разрешения, он будет писать "Хорошо" два раза.
Я добавил функцию 'approvalprompt': 'force'
в функцию signIn(). Функция обратного вызова больше не вызывается дважды, но заставляет пользователя утверждать разрешения приложений, даже если они были одобрены ранее. Так что это не удобно.
Есть ли у пользователя удобный способ одобрить разрешения приложений один раз без двух обратных вызовов?
Спасибо.