| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | package jwtimport (	//"strings"	"tmr-watch/pkg/e"	"tmr-watch/pkg/util"	jwtGet "tmr-watch/pkg/util"	"github.com/dgrijalva/jwt-go"	"github.com/gin-gonic/gin")func JWT() gin.HandlerFunc {	return func(c *gin.Context) {		var code int		var data interface{}		code = e.SUCCESS		//Authorization := c.GetHeader("Authorization")		//token := strings.Split(Authorization, " ")		Authorization := c.GetHeader("token")		token := Authorization		if Authorization == "" {			code = e.INVALID_PARAMS		} else {			//_, err := util.ParseToken(token[1])			_, err := util.ParseToken(token)			if err != nil {				switch err.(*jwt.ValidationError).Errors {				case jwt.ValidationErrorExpired:					code = e.ERROR_AUTH_CHECK_TOKEN_TIMEOUT				default:					code = e.ERROR_AUTH_CHECK_TOKEN_FAIL				}			}		}		if code != e.SUCCESS {			c.JSON(e.SUCCESS, gin.H{				"code": code,				"msg":  "登录超时",				"data": data,			})			c.Abort()			return		}		t, _ := jwt.Parse(token, func(*jwt.Token) (interface{}, error) {			return jwtGet.JwtSecret, nil		})		c.Set("jwt_username", jwtGet.GetIdFromClaims("username", t.Claims))		c.Next()	}}
 |