func Sign(payload string, signingAlg string, key interface{}, options ...func(*JoseConfig)) (token string, err error) {
	return SignBytes([]byte(payload), signingAlg, key, options...)
}
func Sign(payload string, signingAlg string, key interface{}, options ...func(*JoseConfig)) (token string, err error) {
	return SignBytes([]byte(payload), signingAlg, key, options...)
}
func Sign ( payload string , signingAlg string , key interface { } , options ... func ( * JoseConfig ) ) ( token string , err error ) { return SignBytes ( [ ] byte ( payload ) , signingAlg , key , options ... ) }
// Sign produces signed JWT token given arbitrary string payload, signature algorithm to use (see constants for list of supported algs), signing key and extra options (see option functions)
// Signing key is of different type for different signing alg, see specific
// signing alg implementation documentation.
//
// It returns 3 parts signed JWT token as string and not nil error if something went wrong.
Sign produces signed JWT token given arbitrary string payload signature algorithm to use ( see constants for list of supported algs ) signing key and extra options ( see option functions ) Signing key is of different type for different signing alg see specific signing alg implementation documentation . It returns 3 parts signed JWT token as string and not nil error if something went wrong .