Сделать запрос авторизации Google gapi.auth без всплывающего окна

Нужно сделать запрос авторизации в js, но браузер не поддерживает всплывающие окна. Есть ли способ перенаправить на новый URL-адрес или показать запрос на странице html5 приложения?


person 250    schedule 08.07.2015    source источник


Ответы (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
comment
Как это даст возможность принять и отменить без всплывающего окна? - person 250; 08.07.2015
comment
@SumitBhatia, ты шутишь? Вам решать, как сделать это в HTML-форме, Сумит. Вы не хотите всплывающее окно Google? хорошо, но вы должны реализовать запрос oauth => google search. Затем вы отправляете данные в google auth api и получаете результат. - person 3pic; 08.07.2015
comment
Ну, вы не можете иметь обе стороны игры. Клиентам нравится всплывающее окно, потому что они знают, что их данные не передаются на ваш сайт. Если вы убиваете всплывающее окно, вам нужно получить данные и запросить API, чтобы узнать, верны ли данные или нет. Эй, магии нет. Прочтите: developers.google.com/api-client-library/javascript/ ссылка/ - person 3pic; 08.07.2015