Chrome identity launchWebAuthFlow открывает только пустую страницу обратного вызова
Извините за еще один вопрос, вероятно, нуб, обычно я не сдамся, пока не найду решение сам, но этот заставляет меня идти 3 дня, и пришло время признать, что я застрял ...
Я пытаюсь аутентифицировать расширение Chrome для использования пользовательских данных PushBullet через OAuth2:
background.js
var client_id = '<32 DIGIT CLIENT ID>';
var redirectUri = "chrome-extension://lgekckejcpodobwpelekldnhcbenimbe/oauth2";
var auth_url = "https://www.pushbullet.com/authorize?client_id=" + client_id + "&redirect_uri=" + encodeURIComponent(redirectUri) + "&response_type=token";
chrome.identity.launchWebAuthFlow({'url':auth_url,'interactive':true}, function(redirect_url){
console.log(redirect_url)
});
manifest.json:
"permissions": [
"identity",
"*://*.google.com/*",
"*://*.pushbullet.com/*",
"storage"
],
"web_accessible_resources": [
"/oauth2/*"
Когда я загружаю расширение:
Откроется всплывающее окно авторизации Pushbullet и попросит дать разрешение моему добавочному номеру (ОК).Я согласен (ОК)Окно Pushbullet закрываетсяи новая пустая страница опес URL-адрес этих окон является URI обратного вызова с токеном:хром расширение: //lgekckejcpodobwpelekldnhcbenimbe/oauth2#access_token=o.zrrWrDozxMu6kftrMHb89siYJQhRVcoL
Я не ожидал, что откроется пустая страница, а наоборот, так как launchWebAuthFlow перехватил URI и записал его в журнал консоли, как это было закодировано в функции обратного вызова ... но, похоже, он ждет ...
Единственный вариант - закрыть эту пустую страницу только для того, чтобы увидеть следующее:
Снимите флажок runtime.lastError во время работы identity.launchWebAuthFlow: пользователь не одобрил доступ.
Понятно, что мне не хватает чего-то жизненно важного ... нужен ли где-то дополнительный код, чтобы получить URI обратного вызова в моем background.js?
Спасибо, очень ценю помощь.
Призрачный Охотник