在写前后端分离项目(Vue + gin)时,用户成功登录之后,后端想要通过set-cookie告诉前端设置cookie值。此时,跨域已经配置好了,前端也设置好了withCredentials: true允许携带cookie,并且后端也设置了c.Header("Access-Control-Allow-Origin", "http://127.0.0.1:5173")、c.Header("Access-Control-Allow-Credentials", "true")
成功登录之后,响应头里也有Set-Cookie字段

但是打开浏览器Application -> Cookie,发现cookie并没有写入

最后,我把以上配置中的127.0.0.1都改成了localhost,突然发现能够正常设置cookie了。原来是我浏览器地址一直是localhost的原因,Access-Control-Allow-Origin需与请求头里的一致。

在Vue和Gin构建的前后端分离项目中,遇到登录后设置Cookie失败的问题。配置了跨域并允许携带credentials,后端响应头包含Set-Cookie,但浏览器未存储Cookie。问题出在Access-Control-Allow-Origin配置,需与请求地址一致。改为localhost后,Cookie成功设置。
547

被折叠的 条评论
为什么被折叠?



