Javascript小部件跨域身份验证

时间:2012-03-15 12:58:26

标签: javascript jsonp

我在whateveryouwant.com上为一个小部件提供了一些javascript代码,它向mymaindomain.com发出了一堆jsonp请求。窗口小部件的每个实例都有自己的appid,因此每个appid都有一个且只有一个与之关联的可信域名。现在我想知道我的小部件(appid)是否正在从他的可信域中使用,如果是,则允许访问我的服务(例如返回访问令牌),并阻止任何其他不受信任的域。我读了一些关于iframe和postmessage的东西,但我不明白这是否是一个crossbrowser解决方案。

1 个答案:

答案 0 :(得分:1)

如果我理解你想要的东西,听起来你需要与同一网站上不同域上的两个小部件进行通信。如果是这种情况,如果您想避免任何服务器端基础结构或浏览器插件,有两种方法可以解决跨域问题:

  1. HTML 5有一个postmessage API,但据我所知,这在IE中仍然不受支持。如果您有兴趣,请查看此处:https://developer.mozilla.org/en/DOM/window.postMessage

  2. 使用旧技巧,您基本上可以在iframe中设置数据并在两个不同服务器之间导航框架,以便每个窗口小部件可以一次访问一个。以下是一个准确的例子:http://onlineaspect.com/uploads/postmessage/parent.html

相关问题