李伟乐 1 year ago
parent a71e3d102c
commit 8c398ecd47
  1. 2
      api/user.http.go
  2. 2
      api/user_http.pb.go
  3. 29
      middleware/jwt/jwt.go

@ -1,11 +1,11 @@
package user package user
import ( import (
"github.com/gin-gonic/gin"
"context" "context"
"git.diulo.com/mogfee/kit/middleware" "git.diulo.com/mogfee/kit/middleware"
"git.diulo.com/mogfee/kit/errors" "git.diulo.com/mogfee/kit/errors"
"git.diulo.com/mogfee/kit/response" "git.diulo.com/mogfee/kit/response"
"github.com/gin-gonic/gin"
) )
func RegisterUserHandler(app *gin.Engine, srv UserServer, m ...middleware.Middleware) { func RegisterUserHandler(app *gin.Engine, srv UserServer, m ...middleware.Middleware) {

@ -1,9 +1,9 @@
package user package user
import ( import (
"context"
"git.diulo.com/mogfee/kit/transport/http" "git.diulo.com/mogfee/kit/transport/http"
"git.diulo.com/mogfee/kit/middleware/jwt" "git.diulo.com/mogfee/kit/middleware/jwt"
"context"
) )
type UserHTTPServer interface { type UserHTTPServer interface {

@ -63,22 +63,23 @@ func JWT(opts ...JwtOption) middleware.Middleware {
if tokenStr == "" && needAuth { if tokenStr == "" && needAuth {
return nil, errors.Unauthorized("NO_TOKEN", "") return nil, errors.Unauthorized("NO_TOKEN", "")
} }
if tokenStr != "" {
userInfo, err := cfg.validate.ParseToken(ctx, cfg.jwtKey, tokenStr) userInfo, err := cfg.validate.ParseToken(ctx, cfg.jwtKey, tokenStr)
if err != nil { if err != nil {
return nil, err
}
if needAuth && userInfo.UserId == 0 {
return nil, errors.Unauthorized("TOKEN_BAD", "")
}
if authKey != "" {
if err := cfg.validate.Validate(ctx, authKey, userInfo.Permissions); err != nil {
return nil, err return nil, err
} }
} if needAuth && userInfo.UserId == 0 {
if userInfo.UserId > 0 { return nil, errors.Unauthorized("TOKEN_BAD", "")
ctx = SetUserContext(ctx, userInfo) }
if authKey != "" {
if err := cfg.validate.Validate(ctx, authKey, userInfo.Permissions); err != nil {
return nil, err
}
}
if userInfo.UserId > 0 {
ctx = SetUserContext(ctx, userInfo)
}
} }
return handler(ctx, a) return handler(ctx, a)
} }

Loading…
Cancel
Save