package middleware import ( "net/http" "github.com/dgrijalva/jwt-go" ) // JWTMiddleware 实现JWT认证中间件 func JWTMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { tokenString := r.Header.Get("Authorization") if tokenString == "" { http.Error(w, "Authorization header required", http.StatusUnauthorized) return } token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { return []byte("your-secret-key"), nil }) if err != nil || !token.Valid { http.Error(w, "Invalid token", http.StatusUnauthorized) return } next.ServeHTTP(w, r) }) }