我目前正在开发一个将使用至少两个域的 SaaS 平台:
并且可能会使用其他自定义域...
- (c) http://example.net
- (d) http://example.org
- (e) https://example.net
- (f) https://example.org
我正在尝试设计一种策略,以在使用所有域时启用相当多的安全性,同时将所有远程调用和“小部件”交互整合到Domain(b) [ https://example. com ]。
(快速说明 - 我使用“小部件”作为一般术语。这些在源 HTML 页面上,而不是 iframe 插件或 javascript 文档写入。)
在浏览了关于 Portholes、JSONP、跨域脚本、浏览器安全模型等的大量文档之后……我想出了这个总体思路。我希望得到一些反馈...
- 登录到“网络”会为Domain(b)创建一个辅助 cookie -- WidgetSession
- 访问所有域获取 Domain(b)/javascript/utils.js
- 访问 Domain(b) 以外的域获取 Domain(b)/api/widget-session.js ,它有一个回调来将活动的WidgetSession注册到 utils.js javascript 包中。
- 所有 API 交互都通过WidgetSession cookie 进行,该 cookie 仅对一定数量的活动有效。
使用这种策略,我似乎能够绕过所有浏览器安全锁定,涉及的工作不多,并且对消费者的风险/风险最小化+很少。
谁能指出任何陷阱或提供更好的建议?
我尝试采用 iframe 方法(使用 porthole.js 库),它可以跨域工作,但是在涉及协议时,我一直在浏览器中被阻止。这听起来更简单、更安全,尽管它不会从缓存中受益太多。