2 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
我剛剛遇到了同樣的問題axios,這導(dǎo)致Set-Cookie響應(yīng)標(biāo)頭被靜默忽略。這很煩人,如果它拒絕它們,它會(huì)在該標(biāo)題上顯示那個(gè)小黃色三角形,并在網(wǎng)絡(luò)檢查器中說明原因。
我通過添加一個(gè)請(qǐng)求攔截器來true為每個(gè)請(qǐng)求強(qiáng)制它來解決這個(gè)問題:
axios.interceptors.request.use(
(config) => {
config.withCredentials = true
return config
},
(error) => {
return Promise.reject(error)
}
)

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
解決方案
原來問題出在前端,特別是 JavaScript 的fetch()方法。
let response = await fetch(`http://localhost:8000/login`, {
method: "POST",
credentials: "include", //--> send/receive cookies
body: JSON.stringify({
email,
}),
headers: {
"Content-Type": "application/json",
},
});
您將需要對(duì)象credentials: include中的屬性RequestInit,不僅用于發(fā)出需要 cookie 身份驗(yàn)證的請(qǐng)求,還用于接收所述 cookie。
Axios 通常會(huì)自動(dòng)填寫這部分(根據(jù)經(jīng)驗(yàn)),但如果沒有,您還需要withCredentials: true在請(qǐng)求的第三個(gè)config參數(shù)中添加以允許瀏覽器設(shè)置 cookie。
- 2 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報(bào)