Google Войти / Войти на Яндекс Расширение Android - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь запустить настольное расширение Chrome на Android, поэтому я попытался запустить его в браузере Яндекса на своем телефоне.Он работает нормально, за исключением входа в Google. (Все хорошо работает на настольном Chrome и настольном Яндексе).Этот код вызывается фоновыми сценариями:

var url = 'https://accounts.google.com/o/oauth2/auth' +
    '?client_id=' + clientId +
    '&response_type=id_token' +
    '&access_type=offline' +
    '&redirect_uri=' + redirectUri +
    '&scope=' + scopes;

getIdToken: function (message) {
    const _this = this;
    var idToken = "";
    chrome.identity.launchWebAuthFlow(
        {
            'url': url,
            'interactive': true
        },

    function (redirectedTo) {
        console.log("[2]auth-manager called: "+redirectedTo);
        if (chrome.runtime.lastError) {
            // Example: Authorization page could not be loaded.
            console.log("lastError: "+chrome.runtime.lastError.message);
        }
        else {
            var response = redirectedTo.split('#', 2)[1];
            // Example: id_token=<YOUR_BELOVED_ID_TOKEN>&authuser=0&hd=<SOME.DOMAIN.PL>&session_state=<SESSION_SATE>&prompt=<PROMPT>
            idToken = (response.split('&')[0]).split('=', 2)[1];
            console.log("auth-manager id token", idToken);
            if (message != undefined) {
                message.data.google_id_token = idToken;
                cloudWebSocket.sendMessage(JSON.stringify(message));
                _this.isLogged = true;
                closePopup();
                alert('login successful');
            }
        }
    }
);

}

Когда я вызываю эту функцию, redirectedTo не определен, и я получаю chrome.runtime.lastError.message: «cancelled»,Вот и все.

Я использую тот же манифест из настольных приложений, с тем же clientId, redirectUri и областями действия.Я не могу понять, что вызывает эту проблему?Если есть другой способ выполнить вход в Google без этой проблемы, это также может помочь.

1 Ответ

0 голосов
/ 10 декабря 2018

см. API веб-расширений ... в частности, там есть таблица поддержки платформы.

Инициирование потока oAuth2 на стороне сервера, тем не менее, должно быть возможным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...