吐槽:
一個原以為是后端的問題腿堤,看了兩天天,終于在最后發(fā)現(xiàn)是前端的問題厅克。Fetch真的是一個坑。
背景:
在使用nodejs時橙依,采用koa-passport校驗证舟,koa-generic-session來存儲session硕旗。 一個很簡單的需求就是登錄后存儲用戶的信息。
排查了兩個組件的版本問題女责,分別了解兩個組件的作用漆枚,看兩個組件的GitHub介紹,demo抵知,甚至源碼墙基。但是沒啥發(fā)現(xiàn)。今早刷喜,發(fā)現(xiàn)每次后端都給前端的Response中返回了set-cookie残制。
后端返回的Response
瀏覽器中的cookies空空入也
少年 ,你是不是有遇到過這種問題吱肌,這就排除了后端的問題了痘拆。當(dāng)我看到前端采用Fetch的時候,我知道就是它的問題了氮墨。 這個玩意請求的時候不攜帶cookie的信息纺蛆。如果你想訪問,就只能人工配置了规揪。
Fetch 請求默認(rèn)是不帶 cookie 的桥氏,需要設(shè)置fetch(url, {credentials: 'include'})