Что вызывает так много сбоев, когда я пытаюсь перенести расширение Chrome с chrome .identity.getAuthToken на запуск WebAuthFlow? - PullRequest
2 голосов
/ 04 февраля 2020

Я хочу, чтобы мое расширение работало в Firefox и новом Chromium-Edge. Они не работают с chrome.identity.getAuthToken. Так что я портирую на chrome.identity.launchWebAuthFlow. Справочная информация. js код выглядит следующим образом:

```
const AUTH_URL = "https://accounts.google.com/o/oauth2/auth?client_id=971865119963-n9f0c5n0hga44jpds61ea4btfq608pfh.apps.googleusercontent.com&response_type=token&redirect_uri=https%3A%2F%2Flnfajhkleofjochkapfbagfddgmpgble.chromiumapp.org&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fphotoslibrary%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fphotoslibrary.sharing";

background.getAccessToken = function() {
return new Promise((resolve, reject) => {
    chrome.identity.launchWebAuthFlow({interactive: true, url: AUTH_URL}, function (response) {
    if (response) resolve(response);
    else {
        console.log(chrome.runtime.lastError.message);
        reject();
        }
    });
});

}

```

Я запускал этот код как в background.js, так и во всплывающем окне browser_action.js. Он всегда возвращает undefined ответ и выдает сообщение об ошибке:

    Unchecked runtime.lastError: Authorization page could not be loaded.

или

    Error: redirect_uri_mismatch

Тот факт, что в Chrome используется chrome .identity.getAuthToken Это работает отлично в течение пары лет. Сорта доказывает, что моя конфигурация консоли разработчика в порядке.

В течение пяти дней я следил за каждым возможным лидерством в stackOverflow и ни к чему не привел. Пожалуйста, помогите!

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