解决内嵌帆软报表出现重定向问题

        最近收到反馈,某些程序的前端通过iframe标签内嵌finebi帆软报表时,出现一系列问题。

        问题1: 如下图所示,单点登录(单点登录地址schema是https)后service地址的schema协议是http, 浏览器内核的安全策略不允许http访问https。

        解决方案:如下图所示,在前端代码中加入下面代码,目的是将浏览器发出的http请求改造为https

        问题2:内嵌帆软报表单点登录后出现重定向死循环,如下图所示。

        具体原因如下图所述,主要是跨站时chrome浏览器(80版本之后)默认不允许携带cookie(即第三方cookie)造成的。在Chrome 80中,Chrome会将没有声明SameSite值的cookie默认设置为SameSite=Lax。

         解决方案:nginx增加以下配置。

proxy_cookie_path / "/; SameSite=None;Secure;";

        需要注意的是,对于帆软报表,proxy_cookie_path不能增加 httponly, 否则会报下图所示错误。

        但是不加httponly,其实是有被xss攻击 的风险。解决方案如下图:

参考:

google浏览器高版本 跨域第三方cookie(qlik)无法携带问题解决_高版本浏览器不允许跨服务器cookie-CSDN博客 

跨域与跨站_跨站和跨域-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值