feat: 修复 WebSocket 越权与 AI 流 SSRF

This commit is contained in:
weijuesen
2026-08-14 00:45:22 +08:00
parent 1a29def480
commit 839ba91354
17 changed files with 614 additions and 136 deletions
+3 -1
View File
@@ -5,6 +5,7 @@ import (
"log/slog"
"os"
"strconv"
"strings"
"time"
"github.com/gin-gonic/gin"
@@ -52,7 +53,7 @@ func main() {
}
// 5. 创建 WebSocket Hub
hub := ws.NewHub(cfg.JWTSecret)
hub := ws.NewHub(cfg.JWTSecret, ws.NewDBDeviceAuthorizer(db), strings.Split(cfg.WSAllowedOrigins, ","))
// 6. 创建并启动 MQTT 服务
mqttSvc := service.NewMQTTService(cfg.MQTT, db, iotdb, hub)
@@ -89,6 +90,7 @@ func main() {
// 11. API 路由组(经过 JWT auth 中间件,白名单路径自动跳过)
api := r.Group("/api/v1")
api.Use(middleware.Auth(cfg))
api.GET("/ws/ticket", hub.HandleTicket)
// 公开路由(auth 白名单中跳过鉴权)
handler.RegisterVideoStreamRoutes(api, transcodeSvc, db, mediaSvc, cfg)