我知道有很多與 CORS 相關(guān)的問題,但我似乎找不到這個(gè)問題的答案。這是我的服務(wù)器端 golang 代碼(我們正在使用 github.com/rs/cors go 模塊):我們基本上有一組需要授權(quán)標(biāo)頭的 api 和一些不需要的 api(將結(jié)帳與結(jié)帳視為訪客功能)allowedOrigins := []string{"http://localhost:3000", "http://localhost:3001"}//allowedHeaders := []string{"Authorization"}c := cors.New(cors.Options{AllowedOrigins: allowedOrigins, AllowCredentials: true})handler := c.Handler(r)我發(fā)現(xiàn)的是以下內(nèi)容:// if allowcredentials is set to true, then all non auth requests go through but all auth requests return cors error// if allowedHeaders: authorization is set then all **authenticated and NON authenticated** POST requests fail. GET works fine for both cases.更具體地說:當(dāng)我嘗試執(zhí)行 POST 請(qǐng)求并設(shè)置上面的 AllowedHeaders:authorization 選項(xiàng)時(shí),我得到的錯(cuò)誤是未設(shè)置 AllowedOrigins(??.. 我在 PRE-FLIGHT OPTIONS 響應(yīng)標(biāo)頭中得到這個(gè))。如果我評(píng)論該行(如您在上面看到的),那么非身份驗(yàn)證請(qǐng)求將完美通過,并且 AllowedOrigins hader 將在 OPTIONS 請(qǐng)求中發(fā)回。
1 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
解決它....
https://github.com/rs/cors
有一個(gè)不錯(cuò)的CorsOptions Debug:true
。我用它來檢查發(fā)生了什么,當(dāng)我硬編碼允許授權(quán)進(jìn)入我的服務(wù)器時(shí),POST 請(qǐng)求隨后抱怨,因?yàn)槲乙苍诎l(fā)送內(nèi)容類型(由客戶端(axios)自動(dòng)發(fā)送,我沒有' t 指定它).. 并且服務(wù)器幾乎說“我只識(shí)別授權(quán)標(biāo)頭”......我添加了Content-Type
并且它現(xiàn)在可以工作了!
allowedHeaders := []string{"Authorization", "Content-Type"}
- 1 回答
- 0 關(guān)注
- 231 瀏覽
添加回答
舉報(bào)
0/150
提交
取消