Skip to content

Commit ecc154d

Browse files
updated for CORS
1 parent 9705f2f commit ecc154d

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

api/middleware/middleware.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,23 @@ func CORSMiddleware(next http.HandlerFunc, allowedOrigins []string, allowedMetho
8484
w.Header().Set("Access-Control-Allow-Origin", origin)
8585
w.Header().Set("Vary", "Origin")
8686
w.Header().Set("Access-Control-Allow-Methods", methods)
87-
w.Header().Set("Access-Control-Allow-Headers", headers)
87+
88+
/* determine final allowed headers
89+
If configured as "*", echo back the requested headers to ensure
90+
headers like Authorization are explicitly allowed.
91+
*/
92+
finalAllowedHeaders := headers
93+
if strings.Contains(headers, "*") {
94+
requestedHeaders := r.Header.Get("Access-Control-Request-Headers")
95+
if requestedHeaders != "" {
96+
finalAllowedHeaders = requestedHeaders
97+
} else {
98+
/* sensible defaults when no specific request headers are provided */
99+
finalAllowedHeaders = "Authorization, Content-Type"
100+
}
101+
}
102+
w.Header().Set("Access-Control-Allow-Headers", finalAllowedHeaders)
103+
88104
w.Header().Set("Access-Control-Allow-Credentials", "true")
89105
}
90106

0 commit comments

Comments
 (0)