| | |
| | | |
| | | import ( |
| | | "encoding/json" |
| | | "errors" |
| | | jwtLib "github.com/dgrijalva/jwt-go" |
| | | "github.com/dgrijalva/jwt-go/request" |
| | | "github.com/gin-gonic/gin" |
| | |
| | | return b,nil |
| | | }) |
| | | if err !=nil { |
| | | panic(err) |
| | | return nil |
| | | } |
| | | } else { |
| | | jwtToken = jwtUser.(map[string]interface{})["token"].(*jwtLib.Token) |
| | |
| | | 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, |
| | |
| | | }) |
| | | return user |
| | | } else { |
| | | panic(errors.New("decode jwt user claims fail")) |
| | | return nil |
| | | } |
| | | } |
| | | |