我正在使用dgrijalva / jwt-go /软件包。
我想从令牌中提取有效载荷,但是我找不到方法。
示例(摘自:https : //jwt.io/):
对于编码:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOixMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydhVrF7HYFH7F7F
我想提取有效载荷:
{ "sub": "1234567890", "name": "John Doe", "admin": true }
我将感谢一个示例(使用golang)。
样例代码:
func extractClaims(tokenStr string) (jwt.MapClaims, bool) { hmacSecretString := // Value hmacSecret := []byte(hmacSecretString) token, err := jwt.Parse(tokenStr, func(token *jwt.Token) (interface{}, error) { // check token signing method etc return hmacSecret, nil }) if err != nil { return nil, false } if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid { return claims, true } else { log.Printf("Invalid JWT Token") return nil, false } }