我正在尝试向我的 chrome 扩展添加身份验证,为此我正在使用 chrome identity-api。我正在使用 getAuthToken API 来获取访问 token 。我想在我的 popup.html 中提供登录/注销功能,以便仅在用户未登录(或注销)时显示登录按钮。但是,我无法找到一种方法来检查用户是否登录。
最佳答案
您需要查看chrome.runtime.lastError
我正在使用 interactive: false
当我的弹出窗口加载时。
如果用户没有登录,调用 getAuthToken
将失败,我的功能将返回。如果用户已登录,我将显示一个已登录元素并显示一个注销按钮。
如果用户未登录,我有一个使用 google 登录按钮供他们单击。
window.onload = () => {
console.log("starting popup.js");
chrome.identity.getAuthToken({ interactive: false }, function (token) {
// If the user isn't logged in yet, make them login via clicking button
if (chrome.runtime.lastError) {
// Something went wrong
console.warn("Whoops.. " + chrome.runtime.lastError.message);
// Maybe explain that to the user too?
return;
}
document.getElementById("logged-in").style.display = "block";
document.getElementById("btn-logout").disabled = false;
};
关于google-chrome - 如何检查用户是否使用 chrome identity api 登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753795/