package middleware import ( "nixcn-cms/pkgs/authtoken" "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 { c.JSON(401, gin.H{"status": err.Error()}) c.Abort() return } if required == true && uid == "" { c.JSON(401, gin.H{"status": "unauthorized"}) c.Abort() return } c.Set("user_id", uid) c.Next() } }