Google chrome 如何检查用户是否使用chrome identity api登录?

Google chrome 如何检查用户是否使用chrome identity api登录?,google-chrome,google-chrome-devtools,google-oauth,Google Chrome,Google Chrome Devtools,Google Oauth,我正在尝试将身份验证添加到我的chrome扩展中,我正在为此使用chrome标识api。我正在使用GetAuthTokenAPI获取访问令牌。我想在我的popup.html中提供登录/注销功能,这样只有当用户未登录(或注销)时才会显示登录按钮。但是,我无法找到检查用户是否登录的方法。您需要检查chrome.runtime.lastError 当我的弹出窗口加载时,我使用交互式:false来执行此操作 如果用户未登录,则对getAuthToken的调用将失败,my函数将返回。如果用户已登录,我将显

我正在尝试将身份验证添加到我的chrome扩展中,我正在为此使用chrome标识api。我正在使用GetAuthTokenAPI获取访问令牌。我想在我的popup.html中提供登录/注销功能,这样只有当用户未登录(或注销)时才会显示登录按钮。但是,我无法找到检查用户是否登录的方法。

您需要检查
chrome.runtime.lastError

当我的弹出窗口加载时,我使用
交互式:false
来执行此操作

如果用户未登录,则对
getAuthToken
的调用将失败,my函数将返回。如果用户已登录,我将显示一个logged-in元素并显示一个logout按钮

如果用户没有登录,我有一个谷歌登录按钮供他们点击

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;

};

你找到办法了吗?我被困在同一个问题上。@Kanishka你很可能需要把它写下来。在大多数情况下,您的后端有一个对应的用户,只需检查后端是否设置了sessionId即可。如果没有,您只需假设用户已注销,然后再次完成整个过程;1) 登录Google,2)使用您后端的sessionId从Google检索的exchange身份令牌。就这样。