如何通过AJAX / jQuery进行OAuth身份validation?

我已经使用了Twitter web API,我知道它适用于OAuth,我使用python库消耗了API。 我还尝试了一些使用Java Script小型库的Instagram API。

我知道那些在后台执行Web REST请求,首先进行身份validation,然后在编码时查询请求。

但是,如果我想使用Web应用程序中的jQuery $.ajax执行requets,该怎么办?

我已经阅读了一些文档和网站,似乎这是可能的。 就像只对ajaxing API路由一样,从认证路由开始。

但是,这个过程如何运作? 我的意思是,我通过AJAX查询auth路由,然后如何跟踪该身份validation。 如何保持沟通 ? 重定向url会发挥作用吗?

阅读本网站的Instagram API我开始了解它,但得到了上面提到的疑虑。

我想在Java脚本服务器后台执行所有AJAX请求(我正在使用node.js ),假设我将在$.ajax提供我的应用程序OAuth。 可以,或者我可以在客户端站点上实际编码,保持我的OAuth令牌保存?

并且,如果它关注同一个问题,那么当谈到字节 (图片,声音等)时,如何从API中捕获响应。

好的,如果我理解你要做的是从网页到Twitter API进行Ajax调用,并从Twitter发布/检索推文和其他信息。

自API v1.1发布以来,Twitter已弃用v1.0 API,1.1中的一个主要更改是所有端点上的Authentication Required

要从JavaScript和jQuery做到这一点是非常可能的(尽管非常麻烦,困难,并且需要使用许多第三方JS库来HMAC哈希你的数据和密钥,并在发出请求之前在客户端计算内容长度.Twitter API确实如此不支持CORS,但支持JSONP用于这些类型的Ajax请求。但不建议这样做 – 因为在客户端执行此操作将要求您将Twitter应用程序访问密钥 – 私钥 – 嵌入到脚本文件中 – 这基本上是一个很大的NO-NO。因此建议使用服务器端解决方案来生成你的oAuth令牌。但是一旦你实现了这个,就可以更容易地在你的脚本上获取令牌并使用浏览器中的Ajax调用。但是我在我的研究中没有走得那么远。

此外,这是基于我在2013年中期的研究,当时我的Twitter Ajax小部件由于这种变化而停止工作,并且在我意识到它会危及我的安全密钥后,我放弃了尝试使用该路由修复它。 从那时起事情可能发生了变化。

如果您仍然有兴趣找到解决方案,那么本演练将是开始了解Twitter的oAuth以及如何生成访问令牌的好地方: https ://dev.twitter.com/docs/auth/oauth