Я хочу, чтобы мое расширение работало в Firefox и новом Chromium-Edge. Они не работают с chrome.identity.getAuthToken. Так что я портирую на chrome.identity.launchWebAuthFlow. Справочная информация. js код выглядит следующим образом:
chrome.identity.getAuthToken
chrome.identity.launchWebAuthFlow
``` 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 ответ и выдает сообщение об ошибке:
background.js
browser_action.js
undefined
Unchecked runtime.lastError: Authorization page could not be loaded.
или
Error: redirect_uri_mismatch
Тот факт, что в Chrome используется chrome .identity.getAuthToken Это работает отлично в течение пары лет. Сорта доказывает, что моя конфигурация консоли разработчика в порядке.
В течение пяти дней я следил за каждым возможным лидерством в stackOverflow и ни к чему не привел. Пожалуйста, помогите!