【发布时间】:2023-03-11 08:13:01
【问题描述】:
很抱歉,又一个可能是菜鸟的问题,通常我不会放弃,直到我自己找到解决方案,但这个问题让我坚持了 3 天,现在是时候承认我被困住了......
我正在尝试验证 Chrome 扩展程序以通过 OAuth2 使用 PushBullet 用户数据:
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 授权弹出窗口打开并要求授予我的扩展程序权限 (OK)
- 我同意(好的)
- Pushbullet 窗口关闭并打开一个新的空白页面 windows 是带有令牌的回调 URI:
chrome-extension://lgekckejcpodobwpelekldnhcbenimbe/oauth2#access_token=o.zrrWrDozxMu6kftrMHb89siYJQhRVcoL
我没想到会打开一个空页面,而是让 launchWebAuthFlow 捕获 URI 并将其写入控制台日志中,就像在回调函数中编码一样...但它似乎正在等待...
现在唯一的选择是关闭这个空白页面,只看到以下记录:
运行 identity.launchWebAuthFlow 时未检查 runtime.lastError:用户未批准访问。
显然我遗漏了一些重要的东西......我是否需要“某处”的额外代码来获取我的 background.js 中的回调 URI?
谢谢,真的很感谢你的帮助。
暗影猎手
【问题讨论】:
标签: javascript google-chrome-extension callback oauth-2.0 identity