package middlewares import ( "github.com/gin-gonic/gin" "net/http" "zhiyuan/pkg/app" "zhiyuan/pkg/errcode" "zhiyuan/services/activity/one" ) func ActivityAuth(tokenType string) gin.HandlerFunc { return func(c *gin.Context) { token := c.GetHeader("Access-Token") if token == "" { app.Response(c, http.StatusUnauthorized, errcode.TokenEmpty, nil) c.Abort() return } isValid := false var errCode errcode.Err switch tokenType { case "one": userInfo, code := one.CheckToken(token) if userInfo != nil { c.Set("userID", userInfo.ID) isValid = true errCode = code } } if isValid == false { app.Response(c, http.StatusUnauthorized, errCode, nil) c.Abort() return } c.Next() } }