我已經使用gorilla/mux
和rs/cors
設置了我的Go後端。當我嘗試發送包含自定義標題(Bearer
)的請求時,它將失敗。golang預檢請求錯誤
我的服務器設置是這樣的:
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/users", GetUsers).Methods("GET")
router.HandleFunc("/", GetUsers).Methods("GET")
router.HandleFunc("/tweets", GetTweets).Methods("GET")
router.HandleFunc("/login", Login).Methods("POST")
router.HandleFunc("/profile/tweets", ProfileTweets).Methods("GET")
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowedMethods: []string{"GET", "POST", "PATCH"},
AllowedHeaders: []string{"Bearer", "Content_Type"},})
handler := c.Handler(router)
log.Fatal(http.ListenAndServe(":8080", handler))
我曾嘗試過各種其他解決方案(如在Methods
通話將OPTIONS
爲此我試圖通過Bearer
令牌是/profile/tweets
端點。端點。
我不知道該如何繼續gorilla/mux
和rs/cors
中添加預檢要求的條款。
我得到的實際錯誤:
提取API無法加載http://localhost:8080/profile/tweets。響應 預檢申請未通過訪問控制檢查:沒有 「訪問控制允許來源」標頭出現在請求 資源。原因'http://localhost:4200'因此不允許 訪問。如果一個不透明的響應滿足您的需求,請將請求的 模式設置爲'no-cors'以禁用CORS來獲取資源。
謝謝!
是不是'內容Type'而不是'Content_Type'? –
@FrançoisP。這可能是它..我剛剛解決了它,我還需要添加'OptionsPassthrough' –
有用的信息:) –