func OAuthService(clientId string, clientSecret string, redirectUri string) (*OAuth, error) {
	certFilePath := basePath + "/ca-coinbase.crt"
	serviceAuth, err := serviceOAuth(certFilePath)
	if err != nil {
		return nil, err
	}
	o := OAuth{
		ClientId:     clientId,
		ClientSecret: clientSecret,
		RedirectUri:  redirectUri,
		Rpc: rpc{
			auth: serviceAuth,
			mock: false,
		},
	}
	return &o, nil
}
func OAuthService(clientId string, clientSecret string, redirectUri string) (*OAuth, error) {
	certFilePath := basePath + "/ca-coinbase.crt"
	serviceAuth, err := serviceOAuth(certFilePath)
	if err != nil {
		return nil, err
	}
	o := OAuth{
		ClientId:     clientId,
		ClientSecret: clientSecret,
		RedirectUri:  redirectUri,
		Rpc: rpc{
			auth: serviceAuth,
			mock: false,
		},
	}
	return &o, nil
}
// OAuthService Instantiates OAuth Struct in order to send service related OAuth requests