0

我正在开发一个 Chrome Extension usng manifest V3,并使用类似于以下的行来获取用于访问某些 Google API 的 AuthToken。

        chrome.identity.getAuthToken({'interactive': true}, (token,scopes) => {console.log("token is: ", token,scopes);});

该代码工作正常,并显示一个对话框,使我能够登录(或者如果有一个缓存,则只返回令牌)。然后我可以使用令牌成功调用 API。但是,如果我随后转到授权用户的 Google 帐户页面,并从那里撤消令牌,则下一次(以及随后的每次)调用不会产生错误(runtime.lastError 未定义)但回调不会不叫chrome.identity.removeCachedAuthToken({ token: accessToken});我在发生 API 错误时删除了令牌,但这无济于事(即使令牌在 chrome: //identity-internals.xml 中显示为已删除)

重新启动 Chrome 也不起作用。我可以让代码再次工作的唯一方法是删除并重新创建安装了扩展的 chrome 配置文件,这显然不是扩展用户的有效解决方案。

任何帮助,将不胜感激!

4

0 回答 0