diff --git a/openflare_server/middleware/cors.go b/openflare_server/middleware/cors.go index 70f3d404..9933d552 100644 --- a/openflare_server/middleware/cors.go +++ b/openflare_server/middleware/cors.go @@ -1,12 +1,26 @@ package middleware import ( + "openflare/common" + "strings" + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func CORS() gin.HandlerFunc { config := cors.DefaultConfig() - config.AllowOrigins = []string{"https://openflare.vercel.app", "http://localhost:3000"} + config.AllowCredentials = true + config.AllowHeaders = []string{"Origin", "Content-Length", "Content-Type", "Authorization", "X-Agent-Token", "Accept"} + config.AllowOriginFunc = func(origin string) bool { + serverAddr := strings.TrimRight(common.ServerAddress, "/") + if serverAddr == "" { + return true + } + if origin == serverAddr { + return true + } + return false + } return cors.New(config) }