Javascript小部件跨域身份验证

Javascript widget cross-domain authentication

本文关键字:身份验证 小部 Javascript      更新时间:2023-09-26

我有一些javascript代码,用于whateveryouwant.com上的一个小部件,该小部件向我的mymaindomain.com发出一系列jsonp请求。该小部件的每个实例都有自己的appid,因此每个appid都有一个,而且只有一个,与之相关的可信域名。现在我想知道我的小部件(appid)的一个距离是否来自他的可信域,如果为true,授予对我的服务的访问权限(例如返回访问令牌),并阻止任何其他不受信任的域。我读过一些关于iframe和postmessage的东西,但我不明白这是否是一个跨浏览器的解决方案。

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

  1. HTML5有一个postmessage API,但据我所知,这在IE中仍然不受支持。如果你感兴趣,可以看看这里:https://developer.mozilla.org/en/DOM/window.postMessage

  2. 使用一个老技巧,基本上,在iframe中设置数据,并在两个不同的服务器之间导航帧,这样每个小部件就可以一次访问一个。下面是一个简单的例子:http://onlineaspect.com/uploads/postmessage/parent.html