From 178d5f14c2ef99ef5d74f0e4f59753ac350f4fd5 Mon Sep 17 00:00:00 2001 From: WJQSERVER Date: Fri, 27 Sep 2024 15:18:47 +0800 Subject: [PATCH] 24w06b --- auth/auth.go | 18 ++++++++++-------- main.go | 20 ++++++++++++++++---- proxy/.proxy.go | 2 +- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/auth/auth.go b/auth/auth.go index 2d8ffbe..d618311 100644 --- a/auth/auth.go +++ b/auth/auth.go @@ -7,26 +7,28 @@ import ( "github.com/gin-gonic/gin" ) -var ( - cfg *config.Config - log = logger.Logw -) +var logw = logger.Logw -func AuthHandler(c *gin.Context) bool { +func AuthHandler(c *gin.Context, cfg *config.Config) bool { // 如果身份验证未启用,直接返回 true if !cfg.Auth { - log("auth PASS") + logw("auth PASS") return true } // 获取 auth_token 参数 authToken := c.Query("auth_token") - log("auth_token: ", authToken) + log("auth_token received: %s", authToken) // 验证 token + if authToken == "" { + logw("auth FAIL: no auth_token provided") + return false + } + isValid := authToken == cfg.AuthToken if !isValid { - log("auth FAIL") + logw("auth FAIL: invalid auth_token") } return isValid diff --git a/main.go b/main.go index d3060d7..f21d445 100644 --- a/main.go +++ b/main.go @@ -97,11 +97,23 @@ func api(c *gin.Context) { } func AuthHandler(c *gin.Context) bool { - if cfg.Auth { - authToken := c.Query("auth_token") - return authToken == cfg.AuthToken + // 如果身份验证未启用,直接返回 true + if !cfg.Auth { + logw("auth PASS") + return true } - return true + + // 获取 auth_token 参数 + authToken := c.Query("auth_token") + logw("auth_token: ", authToken) + + // 验证 token + isValid := authToken == cfg.AuthToken + if !isValid { + logw("auth FAIL") + } + + return isValid } func noRouteHandler(config *config.Config) gin.HandlerFunc { diff --git a/proxy/.proxy.go b/proxy/.proxy.go index f5b589e..162dc99 100644 --- a/proxy/.proxy.go +++ b/proxy/.proxy.go @@ -45,7 +45,7 @@ func NoRouteHandler(cfg *config.Config) gin.HandlerFunc { rawPath = strings.Replace(rawPath, "/blob/", "/raw/", 1) } - if !auth.AuthHandler(c) { + if !auth.AuthHandler(c, cfg) { c.AbortWithStatusJSON(401, gin.H{"error": "Unauthorized"}) logw("Unauthorized request: %s", rawPath) return