大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

iframe内嵌第三方带登录页的跨域登录失效问题怎么解决

本篇内容介绍了“iframe内嵌第三方带登录页的跨域登录失效问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的安顺网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

最近项目需要,即在 网站A 比如 http://a.com 中 使用iframe 内嵌访问 网站B 比如 http://b.com

可是在测试的时候,发现使用 谷歌浏览器或者谷歌浏览器内核的浏览器 内嵌访问 网站B的登录页面的时候 http://b.com/login 会导致登录失败!登录不成功。 

而如果使用其他浏览器比如 火狐是可以的。

参考解决方案:

问题原因:chrome80及以上版本调整了cookie的策略不能保持,所以出现了跨域问题

解决方案:
1、使用其他浏览器,或者使用低于谷歌80版本的谷歌浏览器
2、客户端解决:如果用户要使用高于80版本谷歌浏览器,需要在自己电脑上的谷歌浏览器进行一个设置也可解决,见方法一
3、服务端解决,集成系统及BI系统均需要修改为https协议(注意:单点登录回调接口的协议不能改为https,否则涉及到证书相关验证,由于BI中并没有证书,会造成请求接口失败),见方法二将BI修改为https协议,集成系统修改为https需要自行解决

方法一:
1、打开你的谷歌浏览器,地址栏输入:chrome://flags
2、搜索:SameSite by default cookies
3、选择:disabled
4、重启浏览器

那肯定不能让 用户 配置浏览器了,也不能让用户指定用火狐浏览器。 

于是就 把 A 和 B网站都加上证书 采用 https 的方式。

其实也就是 浏览器为了安全性,禁用了  iframe 登录  session  写入 cookie的功能。

都采用证书 iframe内嵌登录还是失效

结果发现还是登录实现了 。 具体可以使用 菜鸟教程来验证

iframe内嵌第三方带登录页的跨域登录失效问题怎么解决

结果发现 登录慕课网 虽然发邮件告诉我登录成功了,其实是在页面上还是没有登录成功的。

iframe内嵌第三方带登录页的跨域登录失效问题怎么解决

iframe 内嵌跨域登录必须是 证书 + 同域名

也就是 很多百度资料都是说得不清楚,或者过时了的。

经过验证也就是 iframe 内嵌登录必须是  A网站和B网站都 加上 https 证书,且 域名是一样才可以的。

比如:  即在 网站A 比如 https://a.com/a 中 使用iframe 内嵌访问 网站B 比如 https://b.com/b   会导致 网站B登录失效

如果把 网站B域名改成  https://a.com/b  即在 网站A 比如 https://a.com/a 中 使用iframe 内嵌访问 网站B 比如 https://a.com/b      是可以的

“iframe内嵌第三方带登录页的跨域登录失效问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前题目:iframe内嵌第三方带登录页的跨域登录失效问题怎么解决
地址分享:http://dzwzjz.com/article/jcpogd.html
在线咨询
服务热线
服务热线:028-86922220
TOP