Chrome.identity.getAuthToken没有显示谷歌的用户列表

content.js这是Chrome扩展页面内容Chrome.identity.getAuthToken没有显示谷歌的用户列表

document.getElementById("signIn").addEventListener("click", function(){ 

chrome.runtime.sendMessage({task:"switchUser", user: current_user},function(response){

});

});

background.js这是浏览器扩展程序背景页

chrome.runtime.onMessage.addListener(

function(request, sender, sendResponse){

if(request.task == "switchUser"){

function getToken(){

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

sendResponse(token);

});

}

chrome.identity.removeCachedAuthToken({ token:

currentSessionAccessToken }, getToken);

}

return true;

});

以前的OAuth令牌已成功删除,但使用getAuthToken生成新的OAuth令牌时,用户选择列表未显示。但是,我已将交互设置为true。我错过了什么?

回答:

您需要首先撤销令牌,然后从缓存中删除。请在下面找到background.js页面的代码。

chrome.runtime.onMessage.addListener(

function(request, sender, sendResponse){

if(request.task == "switchUser"){

function getToken(){

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

sendResponse(token);

});

}

var xmlHttp = new XMLHttpRequest();

xmlHttp.open('GET', 'https://accounts.google.com/o/oauth2/revoke?token=' + currentSessionAccessToken); //revoke the token calling this url.

xmlHttp.onload = function() {

chrome.identity.removeCachedAuthToken({ token: currentSessionAccessToken }, getToken); //after token is revoked, remove it from cache as well.

}

xmlHttp.onerror = function(){

};

xmlHttp.send();

}

return true;

});

以上是 Chrome.identity.getAuthToken没有显示谷歌的用户列表 的全部内容, 来源链接: utcz.com/qa/260090.html

回到顶部