question

Upvotes
Accepted
5 0 0 3

Connect to RDP API without InsecureSkipVerify

Hi,

I am trying to follow this example to connect to the RDP API through some simple Go client:

https://github.com/Refinitiv/websocket-api/blob/master/Applications/Examples/RDP/go/market_price_rdpgw_client_cred_auth.go#L262-L264

Now, when I remove the "InsecureSkipVerify" parameter, the requests to Refinitiv fail with "Internal Service Error" id e0ca91aa-68d5-493e-8ec0-c1b2ac617df5.


What is the right way to set up TLS between our client and Refinitiv? I cannot find the relevant information in the Refinitiv Real Time Optimized guide.

rdp-apirdpcertificatetls
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
Accepted
55.7k 144 45 65

@jaleel

Thanks for reaching out to us.

It works fine on my machine. I removed that line from the code and modified the code to use https://api.refinitiv.com/auth/oauth2/v1/token.

func getAuthToken(authUrl string, clientId string, clientSecret string, scope string) (string, float64) {
    log.Println(getCurrentTime(), "Sending authentication request...")
    // Send login info for authentication token
    transCfg := &http.Transport{
            TLSClientConfig: &tls.Config{},
    }
    client := &http.Client{Transport: transCfg,
            CheckRedirect: func(req *http.Request, via []*http.Request) error {
                    return http.ErrUseLastResponse
            },
    }
...

I can get a token and retrieve the real-time data.

C:\Users\U8009686\Downloads\websocket-api-master (4)\websocket-api-master\Applications\Examples\RDP\go>go run market_price_rdpgw_client_cred_auth.go --clientid test --clientsecret test
2022-10-19 08:48:35.014547 Sending authentication request...
2022-10-19 08:48:35.291642 Refinitiv Data Platform authentication HTTP code:  301
2022-10-19 08:48:35.291642 Perform URL redirect to  https://api.refinitiv.com:443/auth/oauth2/v1/token
2022-10-19 08:48:35.292645 Sending authentication request...
2022-10-19 08:48:36.013567 RECEIVED:
{
  "access_token": "eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImJlcGpHV0dkOW44WU9VQ1NwX3M3SXlRMmlKMFkzeWRFaHo1VDJ
JVlNqWTgifQ.eyJkYXRhIjoie1wiY2lwaGVydGV4dFwiOlwiN3BlczZxTWRTS195LW1BYjVxVGlwNVIwekZYNTlsSkRkX3FnTU5vMHpwaGJMTnVGbXE5aU
JETVhTYy02cEZmdVY2ck5Lc3M2ZjA2aFVsQUd6VDdVZE5OeWVhS0VpckV0RS05dlFKVkxkOURhVDVkUXpzQTFJNzhmMWdLZzQ2aW5tbFl3cTYwRktWSko0
ck9ySWRoMm5PLURPNERETS1UaXJ5YlhralBaQXFyN0todnhlTVVtQjFJQW9XWk5BQV9kTXc0N1M2bWtRalZDaUdXTVBuMWR6S3JEQUxtWXZHWUUxUHR3WX
lUMVFRRko2YTNGb0NKWk9UZ0tWTjVtZ0YyVjBTRzhPdU01Rms3S0c1WS1aRDQ0QTlEQVg3Y2tqTXNRbk9FNGphTG9peVdmUUVuZzNrT3BNdVYzeGplQVdi

go version go1.15.6 windows/amd64

Please feel free to reach out if you have any further questions.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thank you for trying this and confirming on your end, I will need to double check more closely.
Upvotes
17.4k 34 12 12

Hello @jaleel

I have tried the go example with go version 1.17.12 and the "TLSClientConfig: &tls.Config{}" code (from @Jirapongse) on Linux. The code works fine on my end.

Please note that the RTO *RdpGw_ClientCred_auth* examples (including go's market_price_rdpgw_client_cred_auth.go) support the forthcoming oAuthClientCredentials service only. For the current authentication service, I highly recommend you check the *rdpgw_service_discovery* examples which are available in Java, C#, and Python in the https://github.com/Refinitiv/websocket-api/tree/master/Applications/Examples/RDP folder.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ack - thank you for trying it yourself and confirming. I will investigate and follow up here if relevant.