Ich habe meine Go Backend mit gorilla/mux
und rs/cors
eingerichtet. Wenn ich versuche, eine Anfrage mit einem benutzerdefinierten Header (Bearer
) zu senden, schlägt es fehl.Golang Preflight Anfrage Fehler
Mein Server-Setup sieht wie folgt aus:
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))
ich verschiedene andere Lösungen versucht haben (wie OPTIONS
im Methods
Gespräch hinzugefügt Der Endpunkt für die ich die Bearer
Token passieren bin versucht, ist die /profile/tweets
. Endpunkt.
ich bin nicht sicher, wie mit gorilla/mux
und rs/cors
in Bezug auf der Zugabe die Preflight-Anfrage fortzusetzen.
Der tatsächliche Fehler, die ich bekomme:
Fetch API nicht geladen http://localhost:8080/profile/tweets kann. Die Antwort Preflight-Anforderung nicht übergeben Zugriffskontrolle überprüfen: Nein 'Access-Control-Allow-Origin' Header ist auf der angeforderten Ressource vorhanden. Herkunft 'http://localhost:4200' ist daher nicht erlaubt Zugriff. Wenn eine undurchsichtige Antwort Ihren Anforderungen entspricht, setzen Sie den Modus der Anfrage auf 'no-cors', um die Ressource mit deaktiviertem CORS zu holen.
Vielen Dank!
Ist es nicht 'Inhalt-Baumuster zur anstelle von 'Content_Type'? –
@ FrançoisP. Das könnte es gewesen sein .. Ich habe es gerade gelöst, ich muss auch hinzufügen "OptionsPassthrough" –
Gut zu wissen :) –