原理:
客戶端使用XHR對(duì)象,攜帶有 credentials: "include" 這樣的屬性,而此時(shí)服務(wù)端(跨域)產(chǎn)生的響應(yīng)頭
包含有Set-Cookies 和 Access-Control-Allow-Credentials: true 響應(yīng)頭,這時(shí)瀏覽器就會(huì)存儲(chǔ)此域的cookie,而在下一次XHR請(qǐng)求中,包含此cookie(當(dāng)然也需要包含有:credentials: "include" )
服務(wù)器端(以SpringBoot MVC為例)
@RestController
@CrossOrigin(allowCredentials = "true", origins = {"http://localhost:5500"})
public class AuthenController {
它的作用:向跨域的XHR對(duì)象,發(fā)送 Access-Control-Allow-Credentials: true,注意此時(shí)的origins 不可以包含 * 通配符。
客戶端:
設(shè)置方式:
fetch(url,{credentials: "include"}).then(....