From 88d229d880079db1d31af1d4cbed3b8eb12fd47d Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期五, 28 六月 2019 14:31:08 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.1.14:10010/r/webserver --- middlewares/auth/jwt.go | 47 +++++++++++++++++++++++------------------------ 1 files changed, 23 insertions(+), 24 deletions(-) diff --git a/middlewares/auth/jwt.go b/middlewares/auth/jwt.go index c7074e2..0187b2f 100644 --- a/middlewares/auth/jwt.go +++ b/middlewares/auth/jwt.go @@ -2,7 +2,6 @@ import ( "encoding/json" - "errors" jwtLib "github.com/dgrijalva/jwt-go" "github.com/dgrijalva/jwt-go/request" "github.com/gin-gonic/gin" @@ -14,14 +13,14 @@ type jwtAuthManager struct { secret string expire time.Duration - alg string + alg string } -func NewJwtAuthDriver() *jwtAuthManager{ +func NewJwtAuthDriver() *jwtAuthManager { return &jwtAuthManager{ - secret:TokenKey, - expire:time.Hour*8, - alg:"HS256", + secret: TokenKey, + expire: time.Hour * 8, + alg: "HS256", } } @@ -35,44 +34,44 @@ if len(t) < 2 { return false } - var keyFunc = func(token *jwtLib.Token) (interface{},error) { + var keyFunc = func(token *jwtLib.Token) (interface{}, error) { b := []byte(jwtAuth.secret) - return b,nil + return b, nil } - authJwtToken, err:= request.ParseFromRequest(c.Request,request.OAuth2Extractor,keyFunc) - if err !=nil { + authJwtToken, err := request.ParseFromRequest(c.Request, request.OAuth2Extractor, keyFunc) + if err != nil { return false } - c.Set("User",map[string]interface{}{ - "token":authJwtToken, + c.Set("User", map[string]interface{}{ + "token": authJwtToken, }) return authJwtToken.Valid } -func (jwtAuth *jwtAuthManager) User(c *gin.Context) interface{}{ +func (jwtAuth *jwtAuthManager) User(c *gin.Context) interface{} { var jwtToken *jwtLib.Token - if jwtUser, exist := c.Get("User");!exist{ - tokenStr :=strings.Replace(c.Request.Header.Get("Authorization"),"Bearer ","",-1) - if tokenStr == ""{ + if jwtUser, exist := c.Get("User"); !exist { + tokenStr := strings.Replace(c.Request.Header.Get("Authorization"), "Bearer ", "", -1) + if tokenStr == "" { return map[interface{}]interface{}{} } var err error - jwtToken,err = jwtLib.Parse(tokenStr, func(token *jwtLib.Token) (interface{}, error) { - b :=[]byte(jwtAuth.secret) - return b,nil + jwtToken, err = jwtLib.Parse(tokenStr, func(token *jwtLib.Token) (interface{}, error) { + b := []byte(jwtAuth.secret) + return b, nil }) - if err !=nil { - panic(err) + if err != nil { + return nil } } else { jwtToken = jwtUser.(map[string]interface{})["token"].(*jwtLib.Token) } - if claims,ok :=jwtToken.Claims.(jwtLib.MapClaims);ok && jwtToken.Valid{ + if claims, ok := jwtToken.Claims.(jwtLib.MapClaims); ok && jwtToken.Valid { var user map[string]interface{} if err := json.Unmarshal([]byte(claims["user"].(string)), &user); err != nil { - panic(err) + return nil } c.Set("User", map[string]interface{}{ "token": jwtToken, @@ -80,7 +79,7 @@ }) return user } else { - panic(errors.New("decode jwt user claims fail")) + return nil } } -- Gitblit v1.8.0