跨域cookie失效问题 SameSite=None和secure

跨域Cookie失效的天坑(服务端已有跨域配置),客户端在给服务器发送请求的时候需要携带cookie,因为前后端分离有跨域问题,chrome和edge要跨域携带cookie的话需要设置cookie的SameSite = None,同时又要求设置了cookie的SameSite = None就必须设置cookie的secure=true,如果设置了secure=true 理论上必须是Https协议才会携带cookie.

但是在给cookie设置 cookie的SameSite = None和secure=true后,在chrome和edge可以http协议可以正常携带cookie(如图一和图二),但是在360浏览器就不行(如图三)。如果设置 SameSite = None 和 secure=false,在360浏览器正常,但是chrome和edge就不行了(如图四)必须得Https协议才可以携带cookie。

这是一个大坑!

为了所有浏览器可以使用Http协议携带cookie,后续使用nginx,不进行跨域了。

1668170302912)(../../../../PJY_WorkSpace/Typora/images/image-20221111201648303.png)]

图一

在这里插入图片描述

图二
在这里插入图片描述

图三

在这里插入图片描述
图四

猜你喜欢

转载自blog.csdn.net/qq_61672548/article/details/127812833