JWT in golang golang中的jwt包一般是使用 github.com/dgrijalva/jwt-go, 而且godoc中已经有些example,这里只是记录一下使用 jwt.StandardClaims的情况。 func parseToken(tokenString string) (*jwt.StandardClaims, error) { token, err := jwt.ParseWithClaims(tokenString, &jwt.StandardClaims{}, func(t *jwt.Token) (interface{}, error) { return jwtKey, nil }) if err != nil { log.Errorf("error: %v", err) return nil, fmt.Errorf("failed to parse the token string: %s", tokenString) } log.Printf("claims: %v", token.Claims) if claims, ok := token.Claims.(*jwt.StandardClaims); ok && token.Valid { return claims, nil } else { return nil, errors.Wrap(fmt.Errorf("failed to valiate the token"), "failed") } }……

阅读全文