【问题标题】:Using OAuth with gmail's atom feed将 OAuth 与 gmail 的 atom 提要一起使用
【发布时间】:2011-07-21 01:15:18
【问题描述】:

我正在尝试使用 OAuth 在浏览器中以 javascript 访问 gmail 的 atom 提要(是的,我知道构建浏览器内 OAuth 应用程序的安全风险;它是供个人使用的,我不担心我会窃取我自己的消费者密钥)。

但是,访问 Atom 提要给了我错误的用户。

我在打电话:

oa.Ajax().get("https://mail.google.com/mail/feed/atom?xoauth_requestor_id=user@domain.com", callback);

oa.Ajax.get 包装了正确的 OAuth 信息(它有效;我可以使用它来访问其他谷歌服务)。

我也尝试过不带xoauth_requestor_id 参数的调用。

预期结果: 我得到了经过身份验证的用户的提要

实际结果:我得到了默认 gmail 用户的 atom 提要

有人知道为什么会这样吗?谢谢。

【问题讨论】:

  • 我还逐步尝试了 OAuth 游乐场告诉我的操作,但没有成功(因此在 google 的 API 中存在错误)。我最终只在https://mail.google.com/mail/u/111111/feed/atom 上使用了基本访问身份验证,只要用户没有登录超过 111,111 个谷歌帐户,它就可以工作。

标签: javascript oauth gmail atom-feed


【解决方案1】:

您需要使用 Authorization Header 传递您的身份验证令牌等,我不确定是否可以使用 AJAX。但是由于您已登录 Gmail,因此您的身份将被用于检索提要,这就是为什么您会看到自己的提要,而不是经过身份验证的用户的提要。

【讨论】:

  • 您的直觉是正确的——实际上您可以将授权标头与 AJAX 一起使用,但这不是 OAuth 失败的原因(实际上只是因为 Gmail Atom 提要不遵守协议)。但是,您可以在授权标头中使用基本访问身份验证(我知道不安全)来获取正确的 Atom 提要。
猜你喜欢
  • 2011-03-11
  • 2011-02-12
  • 1970-01-01
  • 2012-09-30
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 2020-05-04
  • 1970-01-01
相关资源
最近更新 更多