問題
- 過年前電腦自動升級了 chrome 瀏覽器,導(dǎo)致本地訪問 localhost 本地測試環(huán)境的時(shí)候,無法設(shè)置cookie,cookie 無法在header攜帶過去,導(dǎo)致獲取用戶信息失敗,無法聯(lián)調(diào)。
后果
- 之前找不到原因,項(xiàng)目比較趕,所以一直用的火狐瀏覽器開發(fā),開發(fā)效率大大降低,火狐的開發(fā)體驗(yàn)真心差。
原因
- chorme header 頭的 cookie 里有一個黃色的小嘆號, 提示 This set-cookie didn't specify a 'SameSite' attribute and was defaulted to 'SameSite=lax' and broke the same rules specified in the SameSitelax value,samesite 是 chrome 為了限制第三方 cookie 問題而加的功能,對于 chrome 80 后的版本,跨域的時(shí)候,Lax 在大多數(shù)情況下不發(fā)送第三方 cookie。
解決方案
- 在chrome新標(biāo)簽頁面訪問
chrome://flags/#same-site-by-default-cookies
chrome://flags/#cookies-without-same-site-must-be-secure
分別把這兩項(xiàng)設(shè)置為 Disabled,并重啟瀏覽器。
后續(xù)
4 月 3 號谷歌官方有這樣一條消息:谷歌宣布回滾 samesite cookie 功能。
chrome_set.jpg
