如何为多个Google用户验证Chrome扩展程序?

时间:2017-05-28 22:01:44

标签: google-chrome google-chrome-extension google-oauth2

我正在构建一个gmail chrome扩展程序,需要提取特定于每个帐户的数据。我最初使用下面的代码但很快意识到它不适用于多个帐户(例如个人帐户和工作帐户)

chrome.identity.getAuthToken(
    {'interactive': false},
    function(){
       //load Google's javascript client libraries
       console.log("getAuthToken");
       window.gapi_onload = authorize;
       loadScript('https://apis.google.com/js/client.js');
    }
);

我已尝试在线搜索但无法找到任何代码示例。我知道我已经实施了OAuth2但是Google的OAuth教程已经过时了。当我切换gmail应用时,对我来说,验证其他用户的最佳方式是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

根据此documentation,您可以使用Chrome Identity API对用户进行身份验证:登录其Google帐户的用户为getAuthToken,登录用户的用户为launchWebAuthFlow非Google帐户。如果您的应用使用自己的服务器对用户进行身份验证,则需要使用后者。

以下是您需要完成Google帐户身份验证的五个步骤:

  • 为您的清单添加权限并上传您的应用。
  • 将已安装的manifest.json中的密钥复制到源清单中,以便您的应用程序ID在开发过程中保持不变。
  • 获取Chrome应用的OAuth2客户端ID。
  • 更新您的清单以包含客户端ID和范围。
  • 获取身份验证令牌。

其他参考:Chrome Extension example of oAuth 2.0

希望这有帮助。