package middlewares import ( "github.com/gin-gonic/gin" "github.com/runningwater/gohub/pkg/jwt" "github.com/runningwater/gohub/pkg/response" ) // GuestJWT 强制使用游客身份认证中间件 func GuestJWT() gin.HandlerFunc { return func(c *gin.Context) { // 检查请求头中是否包含 Authorization 字段 authHeader := c.GetHeader("Authorization") if len(authHeader) > 0 { // 如果存在 Authorization 字段,验证 JWT _, err := jwt.NewJWT().ParseToken(c) if err == nil { // 如果 JWT 验证通过,返回 403 错误 response.Unauthorized(c, "请使用游客身份认证") c.Abort() return } } // 调用下一个中间件或处理函数 c.Next() } }