携带cookie 跨域访问的总结

原理:

客户端使用XHR对象,携带有 credentials: "include" 这样的属性,而此时服务端(跨域)产生的响应头
包含有Set-Cookies 和 Access-Control-Allow-Credentials: true 响应头,这时浏览器就会存储此域的cookie,而在下一次XHR请求中,包含此cookie(当然也需要包含有:credentials: "include" )

服务器端(以SpringBoot MVC为例)

@RestController
@CrossOrigin(allowCredentials = "true", origins = {"http://localhost:5500"})
public class AuthenController {

它的作用:向跨域的XHR对象,发送 Access-Control-Allow-Credentials: true,注意此时的origins 不可以包含 * 通配符。

客户端:

设置方式:

fetch(url,{credentials: "include"}).then(....
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容