我有一个新项目在工作。就像 Facebook API 一样,它将需要跨域的服务器到服务器和客户端到服务器的消息传递。我在哪里可以找到关于这个主题的好资源?
主要问题是:
- 我们应该更喜欢在“客户端”站点中使用 iframe 还是脚本?
- 你如何创建握手?在客户端到服务器和服务器到服务器代码中?
- 如何确保此过程安全?如何验证请求的来源?
我知道这是一个广泛的话题,但我并不真正熟悉它,我希望朝着正确的方向前进。
我有一个新项目在工作。就像 Facebook API 一样,它将需要跨域的服务器到服务器和客户端到服务器的消息传递。我在哪里可以找到关于这个主题的好资源?
主要问题是:
我知道这是一个广泛的话题,但我并不真正熟悉它,我希望朝着正确的方向前进。
您可以先查看由 Luke Sheppard 编写的 Facebook 跨域 (XD) 源代码
https://github.com/facebook/connect-js/blob/master/src/core/xd.js
为了向后兼容,它对不支持 window.postMessage() 的旧浏览器使用 flash 对象以及磅符号后的查询字符串
还有一个开源的easyXDM库,它可以弥补浏览器的差异并为两者提供简单的api。(我正在评估中)
您基本上被锁定在使用 IFrame 进行跨域请求。安全性是另一个重要主题,您还可以检查 http 请求,了解 stackoverflow 如何使用 3rd 方域进行身份验证,他们使用会话和 nonce 令牌的散列来使其在 http 上安全。
祝你好运!
JSONP适用于来自浏览器的跨域请求。它不需要 iframe、flash 或其他技巧。
浏览器仅仅请求另一个 JS 脚本。请记住,可以跨域获取 Javascript 源文件。
您可以使用查询字符串 args 作为 api 调用的参数。