1 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
您正在同時(shí)設(shè)置 和 。對(duì)Beego的cors包的源代碼的隨意檢查表明,因此,對(duì)預(yù)檢請(qǐng)求的響應(yīng)包含以下標(biāo)頭組合:AllowCredentialsAllowAllOrigins
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
但是,F(xiàn)etch標(biāo)準(zhǔn)(定義了CORS的工作原理)指示瀏覽器拒絕這種組合 - 因?yàn)樽袷厮鼘⒎浅2话踩?。?qǐng)參閱有關(guān) CORS 的 MDN Web Docs 的相關(guān)段落:
響應(yīng)憑據(jù)請(qǐng)求時(shí),服務(wù)器必須在標(biāo)頭的值中指定源,而不是指定“”通配符。Access-Control-Allow-Origin*
解決此問(wèn)題的一種方法是允許,不是所有的起源,而只允許前端的起源;我在下面用作占位符:https://example.com
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
AllowOrigins: []string{"https://example.com"}, // <---
// -snip-
AllowCredentials: true,
}))
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)