auto commit

master
李伟乐 11 months ago
parent 47eb8c3756
commit 231202713c
  1. 5
      middleware/jwt/jwt.go
  2. 17
      middleware/jwt/token.go
  3. 3
      middleware/validate/validate.go

@ -2,6 +2,7 @@ package jwt
import (
"context"
"git.diulo.com/mogfee/kit/errors"
"git.diulo.com/mogfee/kit/middleware"
)
@ -60,7 +61,7 @@ func JWT(opts ...JwtOption) middleware.Middleware {
// 解析token
tokenStr := cfg.validate.GetToken(ctx, cfg.fromKey)
if tokenStr == "" && needAuth {
return nil, errorx.Unauthorized("NO_TOKEN", "")
return nil, errors.Unauthorized("NO_TOKEN", "")
}
if tokenStr != "" {
@ -70,7 +71,7 @@ func JWT(opts ...JwtOption) middleware.Middleware {
return err
}
if needAuth && userInfo.UserId == "" {
return errorx.Unauthorized("TOKEN_BAD", "")
return errors.Unauthorized("TOKEN_BAD", "")
}
if authKey != "" {
if err = cfg.validate.Validate(ctx, authKey, userInfo.Permissions); err != nil {

@ -2,6 +2,7 @@ package jwt
import (
"encoding/json"
"git.diulo.com/mogfee/kit/errors"
"git.diulo.com/mogfee/kit/internal/xuuid"
"github.com/golang-jwt/jwt/v5"
"time"
@ -58,16 +59,16 @@ func Parse(key string, tokenStr string) (*UserInfo, error) {
}
str, err := Decrypt(tokenStr, []byte(key), key)
if err != nil {
return nil, errorx.Unauthorized("TOKEN_ERROR", err.Error())
return nil, errors.Unauthorized("TOKEN_ERROR", err.Error())
}
token, err := jwt.Parse(str, func(token *jwt.Token) (interface{}, error) {
return []byte(key), nil
})
if err != nil {
if errorx.Is(err, jwt.ErrTokenExpired) {
return nil, errorx.Unauthorized("TOKEN_EXPIRED", "")
if errors.Is(err, jwt.ErrTokenExpired) {
return nil, errors.Unauthorized("TOKEN_EXPIRED", "")
}
return nil, errorx.Unauthorized("TOKEN_ERROR", err.Error())
return nil, errors.Unauthorized("TOKEN_ERROR", err.Error())
}
if token.Valid {
@ -76,11 +77,11 @@ func Parse(key string, tokenStr string) (*UserInfo, error) {
}{}
b, _ := json.Marshal(token.Claims)
if err = json.Unmarshal(b, &row); err != nil {
return nil, errorx.Unauthorized("TOKEN_ERROR", err.Error())
return nil, errors.Unauthorized("TOKEN_ERROR", err.Error())
}
return row.Info, nil
} else if errorx.Is(err, jwt.ErrTokenExpired) || errorx.Is(err, jwt.ErrTokenNotValidYet) {
return nil, errorx.Unauthorized("TOKEN_EXPIRED", "")
} else if errors.Is(err, jwt.ErrTokenExpired) || errors.Is(err, jwt.ErrTokenNotValidYet) {
return nil, errors.Unauthorized("TOKEN_EXPIRED", "")
}
return nil, errorx.Unauthorized("TOKEN_ERROR", "")
return nil, errors.Unauthorized("TOKEN_ERROR", "")
}

@ -2,6 +2,7 @@ package validate
import (
"context"
"git.diulo.com/mogfee/kit/errors"
"git.diulo.com/mogfee/kit/middleware"
"strings"
)
@ -18,7 +19,7 @@ func Server() middleware.Middleware {
Reason() string
}); ok {
field := a.Field()
return nil, errorx.BadRequest("InvalidArgument", "").WithMetadata(map[string]string{
return nil, errors.BadRequest("InvalidArgument", "").WithMetadata(map[string]string{
strings.ToLower(field[0:1]) + field[1:]: a.Reason(),
})
}

Loading…
Cancel
Save