【问题标题】:Google chrome extension with oauth带有 oauth 的 Google chrome 扩展
【发布时间】:2014-10-02 21:43:49
【问题描述】:

我有一个 Google Chrome 扩展程序,需要对其进行身份验证才能访问我服务器上的数据。在我的服务器上,我添加了 OAUTH 登录,允许用户通过 gmail 帐户登录(我已经在我的服务器上配置了重定向 url,这有效。我可以通过网页上的 google 帐户登录)。我有 OAuth 正在使用 google chrome 扩展 (https://developer.chrome.com/apps/identity) 。我可以获得一个 OAuth 令牌。但我不确定如何使用此令牌登录到我在服务器上的帐户。有人可以帮帮我吗?

【问题讨论】:

  • 如果您正在获取令牌(通过交互或非交互方式),则意味着您的用户已通过身份验证。您只需将该令牌保存在电子邮件 ID 中即可。您可以通过身份 API 中的“getProfileUserInfo”获取此电子邮件 ID。希望我正确理解了您的问题并因此得到了回答。
  • 您在服务器上使用什么后端?

标签: google-chrome-extension oauth oauth-2.0 google-oauth


【解决方案1】:

要使用访问令牌从您的扩展程序访问您的 GMail 信息,您只需在进行 API 调用时将令牌添加到您的请求标头中:

Authorization: Bearer <access_token>

例如,要访问您的 Gmail 邮件,您可以进行简单的 Ajax 调用:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://www.googleapis.com/gmail/v1/users/<userId>/messages');
xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
xhr.onload = function() { console.log(this.response) };
xhr.send();

【讨论】:

    【解决方案2】:

    我得到这样一个方案的唯一方法是使用查询 URL 将令牌从扩展传递到服务器。 服务器使用此令牌通过 Google API 获取电子邮件,然后根据返回的电子邮件初始化会话。

    【讨论】:

      猜你喜欢
      • 2013-06-18
      • 2016-11-12
      • 2013-11-02
      • 1970-01-01
      • 2022-01-11
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多