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

标签 google-chrome google-chrome-devtools google-oauth

我正在尝试向我的 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/

相关文章:

c++ - 使用 Chromium 作为 MFC CWnd

google-chrome - Chrome DevTools 协议(protocol) - 在 Golang 中使用 gzip 主体的 ContinueInterceptedRequest

html - 为什么 Chrome 开发者工具会插入 HTML?

javascript - Chrome扩展程序的内容脚本不会影响特定网站

javascript - 如何在面板中调用其他 JS 文件的函数和变量 - Chrome 扩展

android - 在 API 控制台中为 Android 应用程序重新创建客户端 ID 时出错

css - 获取 Chrome 开发工具设备模拟的宽度

html - 在 Firefox 或 Chrome Inspector 中复制显示的 HTML(保持缩进和格式)

python - 调用GMAIL API时出现间歇性错误- "The caller does not have permission"

java - 如何验证 Google Contacts API 的 Java 应用程序?