原理:
客户端使用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(....
网友评论