如何从扩展程序中撤消 Google 帐号访问权限



我有一个Chrome浏览器扩展程序,它使用chrome.identity.getAuthToken请求访问,并且按预期工作。在扩展中,您可以使用以下方法注销:

var do_logout = function() {
    chrome.identity.getAuthToken({'interactive': false}, function(token) {
        chrome.identity.removeCachedAuthToken({token:token}, function(){
            display_login();
        });
    });
};

这又工作正常。问题是当您重新登录时。理想情况下,我希望扩展程序再次请求许可 - 主要用于来自不同帐户的测试 - 但即使我使用 interactive=true 请求登录,我也不会获得交互式 UI,如下所示:

chrome.identity.getAuthToken({'interactive': true }, function(token) {

我可以登录到我的 Google 帐户页面并从那里撤销访问权限,但这有点失常,而且感觉更干净,如果我想从某些内容注销,我必须再次授予重新登录的权限。

有没有办法让扩展撤销它自己对用户帐户的访问权限?我想是的,但我在谷歌上碰壁了。我发现的最好的是这个"撤销令牌",但感觉应该有一种方法可以使用chrome.identity或chrome.permissions来做到这一点。

据我所知,chrome身份是由登录Chrome浏览器的Google帐户控制的,而不是Google的网络会话。Chrome 应用身份与登录 Chrome 的 Google 帐号相关联。您可以在 Chrome 设置中更改当前登录的帐号,但我建议您改为创建新的 Chrome 个人资料。

我用了chrome.identity.clearAllCachedAuthTokens(),它工作正常。

几周前,我在尝试使用removeCachedAuthToken()时遇到了这个问题因为我正在使用第三方网站进行身份验证,所以显然除非您使用 Google 完成所有操作,否则 removeCache 不起作用。我不记得我在哪里读到的,谷歌搜索太多了......

相关内容

最新更新