Сделайте Google Auth запрос gapi.auth без всплывающего окна
Нужно сделать запрос авторизации в js, но браузер не поддерживает всплывающие окна. Есть ли способ перенаправить на новый URL или показать запрос на странице html5 приложения
1 ответ
Используя этот код, проверьте, авторизовал ли пользователь ваше приложение.
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, callbackAuthResult);
Замечания: immediate:true
если вы установите немедленное значение true, тогда всплывающее окно не будет отображаться.
Ты видишь? Вы не открываете всплывающее окно и не управляете материалом в обратном вызове. Этот обратный вызов обычно используется для пост-процессов. Здесь мы используем его для аутентификации.
в callbackAuthResult
:
callbackAuthResult = function (authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.display = 'none';
// do your processing here
} else {
authorizeButton.style.display = 'block';
authorizeButton.onclick = callbackAuthClick;
}
}
callbackAuthClick = function (event) {
gapi.auth.authorize({
client_id: clientId,
scope: scopes,
immediate: false
}, handleAuthResult);
return false;
}