29 lines
961 B
Go
29 lines
961 B
Go
package main
|
|
|
|
import (
|
|
"github.com/golang-jwt/jwt/v4"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
var data = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY2hvb2xpZCI6Ijk5OSIsImV4cCI6MTY3MDcxMzk3OSwidXNlcm5hbWUiOiLllJDlrociLCJjb3Vyc2VzIjoiLDMyLDQsMzgsMzcsNDIsNDMsOSw0MCw0MSwxMSwxMiwxMyw0NCwxNCwxOSwyNiwyOSIsInNjaG9vbG5hbWUiOiLluIzlhoDlnKjnur8iLCJ1c2VyaWQiOiJjZ190YW5neXUiLCJjb2xsZWdlbmFtZSI6IuWtpuefpeahpSIsImhvbWVwYWdlIjoiaHR0cHM6Ly85OTkuYmQuZWR1Y2cubmV0LyJ9.fB3-L-gEOXVlyjjZqphkORtGCRK4ZWI9RNxO4-FULhw"
|
|
var key = "!bd832W0@CG"
|
|
|
|
type CGJWTClaim struct {
|
|
jwt.RegisteredClaims
|
|
Userid string
|
|
}
|
|
|
|
func main() {
|
|
jwtResult, err := jwt.ParseWithClaims(data, &CGJWTClaim{}, func(token *jwt.Token) (i interface{}, err error) {
|
|
return []byte(key), nil
|
|
})
|
|
if err != nil {
|
|
log.WithError(err).Error("err1")
|
|
}
|
|
if claims, ok := jwtResult.Claims.(*CGJWTClaim); ok && jwtResult.Valid { // 校验token
|
|
log.Println("user id", claims.Userid)
|
|
} else {
|
|
log.Error("err 2")
|
|
}
|
|
}
|