我想在Google中添加一个登录,并在我的Chrome扩展中添加一个注销按钮。

使用chrome.identity.getAuthToken在中使用符号的一种技术是用本教程描述的。效果很好!单击该按钮时,它将显示一个用于身份验证和授权的弹出。
但是我应该如何实现注销按钮呢?
我尝试在我的removeCachedAuthToken注销按钮的单击处理程序中使用方法。这样,登录功能就不能像预期的那样工作了。之后,当我再次按下按钮时,我直接得到了一个新的令牌,而没有弹出窗口要求用户验证和授权我的扩展。我希望用户能够通过注册更改他们的帐户。用这种技术,那是不可能的。我应该如何实现注销功能以允许这样做?
发布于 2022-09-19 14:53:10
正如在这个答案中提到的,您可以使用https://accounts.google.com/o/oauth2/revoke?token=" + current_token)来允许用户撤销对api的访问。
以下是相同的功能:
function revokeToken() {
user_info_div.innerHTML = "";
chrome.identity.getAuthToken({ interactive: false },
function (current_token) {
if (!chrome.runtime.lastError) {
// @corecode_begin removeAndRevokeAuthToken
// @corecode_begin removeCachedAuthToken
// Remove the local cached token
chrome.identity.removeCachedAuthToken({token: current_token}, function(){});
// @corecode_end removeCachedAuthToken
// Make a request to revoke token in the server
var xhr = new XMLHttpRequest();
xhr.open(
"GET",
"https://accounts.google.com/o/oauth2/revoke?token=" + current_token);
xhr.send();
// @corecode_end removeAndRevokeAuthToken
// Update the user interface accordingly
changeState(STATE_START);
sampleSupport.log("Token revoked and removed from cache. " +
"Check chrome://identity-internals to confirm.");
}
});
}https://stackoverflow.com/questions/62896294
复制相似问题