我有以下代码(我不建议运行它):
let req = new XMLHttpRequest();
req.open('GET', 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=' + token);
req.onload = function() {
console.log('response:', req.response);
};
req.send();
这会打开一个新标签,这个标签会完全破坏所有焦点。我无法使用任何其他Chrome标签,它会快速切换回验证标签。如果我使用auth选项卡登录,它只会重新加载相同的auth选项卡,然后我回到原点。
通过此调用获取令牌:
chrome.identity.getAuthToken({interactive: true}, function (token) {}):
有没有人见过这个可怕的问题?我无法让Chrome停止向屏幕截图中的网址发送身份验证请求。它一直在窃取焦点,并迫使我一遍又一遍地登录。
据我所知,这实际上是我给黑洞认证标签的电话:
chrome.identity.getAuthToken()
这不会发生,但似乎在我将其添加到manifest.json文件后开始发生:
"oauth2": {
"client_id": "5461xxx462-7gebv033e9csxxxxg5f6ggu22rju9374.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/oauth2/v1/userinfo", // added this line
"https://www.googleapis.com/oauth2/v1/userinfo.picture", // and added this line
"https://www.googleapis.com/auth/chromewebstore.readonly"
]
},
旧的登录屏幕看起来像这样,这非常有效:
我目前相当确定范围数组中的这两行是导致问题的原因:
"https://www.googleapis.com/oauth2/v1/userinfo"
"https://www.googleapis.com/oauth2/v1/userinfo.picture"
我该怎么办?
答案 0 :(得分:1)
我以前遇到过这个问题但是几个月前。如果我没记错的话,最终得出的结果是client_id无效。仔细检查你的oauth client_id,确保你使用的是正确的。