制作跨域API

时间:2011-10-26 00:14:59

标签: javascript ruby-on-rails cross-domain server-to-server

我有一个新项目在工作。它将需要服务器到服务器和客户端到跨域的服务器消息传递,就像Facebook API一样。我在哪里可以找到关于这个主题的好资源?

主要问题是:

  • 我们是否应该更喜欢在“客户”网站或脚本中使用iframe?
  • 你如何创造握手?客户端到服务器和服务器到服务器代码?
  • 如何确保此过程安全?如何验证请求的来源?

我知道这是一个广泛的主题,但我并不熟悉它,我想推动正确的方向。

2 个答案:

答案 0 :(得分:0)

您可以查看由Luke Sheppard撰写的Facebook跨域(XD)源代码

https://github.com/facebook/connect-js/blob/master/src/core/xd.js

为了向后兼容,它使用flash对象以及在不支持window.postMessage()的旧浏览器的磅符号技术之后的查询字符串。

还有一个开源的easyXDM库,它假设可以弥补浏览器差异并为两者提供简单的api。 (我正在评估中)

http://easyxdm.net

您基本上已无法使用IFrame进行跨域请求。安全性是另一个巨大的主题,您还可以检查有关stackoverflow如何通过第三方域进行身份验证的http请求,他们使用会话和nonce令牌的散列来使其通过http保护。

祝你好运!

答案 1 :(得分:0)

JSONP 适用于来自浏览器的跨域请求。它不需要iframe,flash或其他技巧。

浏览器只是请求另一个JS脚本。请记住,Javascript源文件可以跨域获取。

您可以使用查询字符串args作为api调用的参数。