package middleware import ( "nixcn-cms/pkgs/authtoken" "nixcn-cms/utils" "github.com/gin-gonic/gin" ) func JWTAuth(required bool) gin.HandlerFunc { return func(c *gin.Context) { auth := c.GetHeader("Authorization") authtoken := new(authtoken.Token) uid, err := authtoken.HeaderVerify(auth) if err != nil { utils.HttpAbort(c, 401, "", "unauthorized") return } if required == true && uid == "" { utils.HttpAbort(c, 401, "", "unauthorized") return } c.Set("user_id", uid) c.Next() } }