package middleware import ( "strings" "github.com/gin-gonic/gin" "git.sundynix.cn/Blizzard/sundynix-site/server/internal/pkg/auth" "git.sundynix.cn/Blizzard/sundynix-site/server/internal/pkg/resp" ) // Auth 校验 Authorization: Bearer ,通过后把用户名放进上下文。 func Auth() gin.HandlerFunc { return func(c *gin.Context) { h := c.GetHeader("Authorization") token, ok := strings.CutPrefix(h, "Bearer ") if !ok || token == "" { resp.Unauthorized(c, "未登录") return } username, err := auth.Parse(token) if err != nil { resp.Unauthorized(c, err.Error()) return } c.Set("username", username) c.Next() } }