func DecodeBytes(token string, key interface{}) ([]byte, map[string]interface{}, error) {
	parts, err := compact.Parse(token)

	if err != nil {
		return nil, nil, err
	}

	if len(parts) == 3 {
		return verify(parts, key)
	}

	if len(parts) == 5 {
		return decrypt(parts, key)
	}

	return nil, nil, errors.New(fmt.Sprintf("jwt.DecodeBytes() expects token of 3 or 5 parts, but was given: %v parts", len(parts)))
}
func DecodeBytes(token string, key interface{}) ([]byte, map[string]interface{}, error) {
	parts, err := compact.Parse(token)

	if err != nil {
		return nil, nil, err
	}

	if len(parts) == 3 {
		return verify(parts, key)
	}

	if len(parts) == 5 {
		return decrypt(parts, key)
	}

	return nil, nil, errors.New(fmt.Sprintf("jwt.DecodeBytes() expects token of 3 or 5 parts, but was given: %v parts", len(parts)))
}
func DecodeBytes ( token string , key interface { } ) ( [ ] byte , map [ string ] interface { } , error ) { parts , err := compact . Parse ( token ) if err != nil { return nil , nil , err } if len ( parts ) == 3 { return verify ( parts , key ) } if len ( parts ) == 5 { return decrypt ( parts , key ) } return nil , nil , errors . New ( fmt . Sprintf ( " " , len ( parts ) ) ) }
// Decode verifies, decrypts and decompresses given JWT token using management key.
// Management key is of different type for different key management or signing algorithms, see specific alg implementation documentation.
//
// Returns decoded payload as a raw bytes, headers and not nil error if something went wrong.
Decode verifies decrypts and decompresses given JWT token using management key . Management key is of different type for different key management or signing algorithms see specific alg implementation documentation . Returns decoded payload as a raw bytes headers and not nil error if something went wrong .