使用Chrome以外的Google用户登录Chrome扩展程序

boo*_*dle 9 google-chrome google-chrome-extension google-oauth

我有一个Chrome扩展程序,要求用户使用chrome.identity.getAuthToken路由进行登录.这很好用,但是当您登录时,您只能使用您在Chrome中拥有帐户的用户.

客户希望能够使用其他Google帐户登录; 因此,他们希望能够使用.client @ company.com(也是有效的Google帐户)登录,而不是使用Chrome登录的帐户.client @ gmail.com.

我可以使用一个帐户登录Chrome,使用第二个帐户登录Gmail,但我无法在扩展程序中选择.

这可能吗?

Dav*_*vid 14

而不是使用它来验证用户chrome.identity.getAuthToken,而是自己实现OAuth部分.

您可以使用库来帮助您,但上次我尝试使用最有用的库(Google API客户端)时,Chrome扩展程序无效.

有关详细信息,请查看Google OpenID Connect文档.最后,您只需将用户重定向到OAuth网址,使用您的扩展程序获取Google的答案(授权代码),然后将授权代码转换为访问令牌(这是一个简单的POST调用).

由于Chrome扩展程序无法重定向到Web服务器,因此您可以使用已安装的应用程序重定向URI : urn:ietf:wg:oauth:2.0:oob. 有了这个,Google将显示一个包含授权码的页面.

只需使用您的扩展程序在此页面中注入一些javascript代码即可获取授权代码,关闭HTML页面,执行POST调用以获取用户的电子邮件.

  • 你能解释一下这个部分:"只需使用你的扩展程序在这个页面中注入一些javascript代码来获取授权代码,关闭HTML页面,执行POST调用以获取用户的电子邮件."?我不太确定在用户完成流程后如何挂钩到授权页面. (2认同)