背景:
在系统A中使用<iframe>标签嵌入了系统B的页面,系统A,B均集成单点登录。系统A登录后,即可直接访问系统B的页面,无需重复登录
问题:
忽一天,发现访问系统B页面时候,页面提示“重定向次数过多”。打开控制台,发现调用系统B的ssocallback接口三次。
定位原因:
直接原因:系统A登录成功后,访问系统B的Request Header中,没有携带代表用户身份的cookie
根本原因:chrome版本升级,samesite默认等于lax,即不允许跨域携带cookie
解决:
在系统B的回调接口中设置Response Header中的set-cookie值。代码如下:注意属性顺序
在原set-cookie值得基础上,拼接";Secure;SameSite=None"即可
好用点个赞,谢谢。