Skip to content

Commit

Permalink
优化MapClaims,直接从方法获取
Browse files Browse the repository at this point in the history
  • Loading branch information
zhanghaibo committed Oct 25, 2022
1 parent cf9924b commit 7ec0906
Showing 1 changed file with 11 additions and 19 deletions.
30 changes: 11 additions & 19 deletions sdk/pkg/jwtauth/jwtauth.go
Original file line number Diff line number Diff line change
Expand Up @@ -399,17 +399,12 @@ func (mw *GinJWTMiddleware) middlewareImpl(c *gin.Context) {
mw.unauthorized(c, http.StatusUnauthorized, mw.HTTPStatusMessageFunc(err, c))
return
}

if claims["exp"] == nil {
mw.unauthorized(c, http.StatusBadRequest, mw.HTTPStatusMessageFunc(ErrMissingExpField, c))
return
}

if _, ok := claims["exp"].(float64); !ok {
mw.unauthorized(c, http.StatusBadRequest, mw.HTTPStatusMessageFunc(ErrWrongFormatOfExp, c))
exp, err := claims.Exp()
if err != nil {
mw.unauthorized(c, http.StatusBadRequest, mw.HTTPStatusMessageFunc(err, c))
return
}
if int64(claims["exp"].(float64)) < mw.TimeFunc().Unix() {
if exp < mw.TimeFunc().Unix() {
mw.unauthorized(c, 6401, mw.HTTPStatusMessageFunc(ErrExpiredToken, c))
return
}
Expand Down Expand Up @@ -443,12 +438,7 @@ func (mw *GinJWTMiddleware) GetClaimsFromJWT(c *gin.Context) (MapClaims, error)
}
}

claims := MapClaims{}
for key, value := range token.Claims.(jwt.MapClaims) {
claims[key] = value
}

return claims, nil
return MapClaims(token.Claims.(jwt.MapClaims)), nil
}

// LoginHandler can be used by clients to get a jwt token.
Expand Down Expand Up @@ -580,15 +570,17 @@ func (mw *GinJWTMiddleware) CheckIfTokenExpire(c *gin.Context) (jwt.MapClaims, e
}
}

claims := token.Claims.(jwt.MapClaims)

origIat := int64(claims["orig_iat"].(float64))
claims := MapClaims(token.Claims.(jwt.MapClaims))
origIat, err := claims.OrigIat()
if err != nil {
return nil, err
}

if origIat < mw.TimeFunc().Add(-mw.MaxRefresh).Unix() {
return nil, ErrExpiredToken
}

return claims, nil
return token.Claims.(jwt.MapClaims), nil
}

// TokenGenerator method that clients can use to get a jwt token.
Expand Down

0 comments on commit 7ec0906

Please sign in to comment.