Нужно сделать запрос авторизации в js, но браузер не поддерживает всплывающие окна. Есть ли способ перенаправить на новый URL-адрес или показать запрос на странице html5 приложения?
Сделать запрос авторизации Google gapi.auth без всплывающего окна
Ответы (1)
Используя этот код, проверьте, авторизовал ли пользователь ваше приложение.
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, callbackAuthResult);
Примечание: immediate:true
если вы установите значение true, всплывающее окно отображаться не будет.
Понимаете? Вы не открываете всплывающее окно и не управляете вещами в обратном вызове. Этот обратный вызов обычно используется для постобработки. Здесь мы используем его для аутентификации.
in 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;
}
person
3pic
schedule
08.07.2015
Как это даст возможность принять и отменить без всплывающего окна?
- person 250; 08.07.2015
@SumitBhatia, ты шутишь? Вам решать, как сделать это в HTML-форме, Сумит. Вы не хотите всплывающее окно Google? хорошо, но вы должны реализовать запрос oauth => google search. Затем вы отправляете данные в google auth api и получаете результат.
- person 3pic; 08.07.2015
Ну, вы не можете иметь обе стороны игры. Клиентам нравится всплывающее окно, потому что они знают, что их данные не передаются на ваш сайт. Если вы убиваете всплывающее окно, вам нужно получить данные и запросить API, чтобы узнать, верны ли данные или нет. Эй, магии нет. Прочтите: developers.google.com/api-client-library/javascript/ ссылка/
- person 3pic; 08.07.2015