我可以在获取chrome身份令牌之前选择用户吗?

时间:2015-08-12 15:21:43

标签: authentication google-chrome-extension gmail

我正在使用适用于Gmail的Chrome扩展程序,并且通过Google帐户登录,我使用chrome.identity.getAuthToken来获取auth_token

chrome.identity.getAuthToken({'interactive': false},
    googlePlusLoginCallback)

它工作正常,而用户只有一个Gmail帐户。

但是在场景中,用户拥有更多的gmail帐户(如私人帐号和公司帐号),api只使用主帐号来请求auth_token;是否可以让用户在请求auth_token之前选择他们的帐户?

1 个答案:

答案 0 :(得分:0)

就像亚伯拉罕所说,chrome.identity使用Chrome浏览器配置文件,因此多帐户用户必须为每个帐户设置不同的浏览器配置文件。

不幸的是,似乎处理多个Google帐户(但不是多个Chrome个人资料)的唯一方法是在后台跟踪每个用户,并在收到用户更改的指示时切换活动用户。

解决方案是通过localStorage将每个用户及其access_token存储在后台,并指出哪个是活动用户。您可以通过chrome.webRequest.onBeforeRequest收听来自Google的ajax调用,因为其中一些ajax调用将包含当前的Google用户。