Sorry for yet another probably noob question, normally I don't give in until I find a solution myself but this one has me going for 3 days and it is time to admit I'm stuck...
I'm trying to authenicate a Chrome extension to use PushBullet user data via 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/*"
When I load the extension:
- The Pushbullet authorization pop-up opens and asks to give permission to my extension (OK)
- I agree (OK)
- The Pushbullet window closes and a new empty page opes the URL of
that windows is the callback URI with a token:
chrome-extension://lgekckejcpodobwpelekldnhcbenimbe/oauth2#access_token=o.zrrWrDozxMu6kftrMHb89siYJQhRVcoL
I did not expect an empty page to open but rather having launchWebAuthFlow captured the URI and have it written in the console log like coded in the callback function... but it seems to be waiting...
The only option now is to close this empty page only to see the following logged:
Unchecked runtime.lastError while running identity.launchWebAuthFlow: The user did not approve access.
Clearly I'm missing something vital... do I need additional code "somewhere" to get the callback URI in my background.js?
Thanks, really appriciate the help.
ShadowHunter
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…