2016-12-29 69 views
0

我正在构建一个应用程序,用户可以在其中接收他们可以在自己的网站上嵌入的JavaScript行,以加载小部件并向网站访问者提供某些信息并允许交互来自最终用户。客户端网站上的iframe小部件和API验证

这个小部件是一个javascript,它从我的服务器上托管的页面加载到iframe中。该页面是一个反应前端,通过API讲述我的.NET后端。在url中,我得到用户id来知道要加载哪个小部件。 www.example.com/widget/userid

小部件不需要最终用户登录或获得身份验证但是,我不想让我的API公开,并且我至少需要从我自己的用户进行身份验证在他们收到他们可以嵌入的JavaScript或任何其他人可以建议的做法之前。

什么是API认证的最佳实践,即使页面加载到我的用户网站上的iframe中,页面可以与其交谈的最佳做法是什么?并且不需要我的用户网站访问者登录?

回答

0

如果我正确理解你的问题,你应该使用postmessage。 在发送方:

parent.postMessage({ type: 'something',more data...}, '*') 

,然后在接收端,你可以这样做:与其它JS元素

window.addEventListener('message', function (event) { 
    switch (event.data.type) { 
     case 'something': 
     // Do something 
     break; 
    } 
} 

这种方式可以使一个iFrame的通信。

希望它有一些帮助。