Keeping socket open beyond access token expiry time

Hi
As soon as I connect to the websocket API I send a Login message with the access token which I got from the auth server. This works, I get a Login Refresh response and I can then subscribe to market updates.
This token expires at 5 minutes, at which case I imagine I need to refresh it, otherwise I get a token expired message.
Using the same process (and the same refresh token I had earlier) I get a new access token and send the same Authentication message. I do this 30 seconds before the expiry time of the first access token. The server responds nothing and later drops the connection.
Best Answer
-
Hello @stefanos
The re-refresh JSON Login message needs a "Refresh": false parameter-value. The first JSON Login does not need a "Refresh" parameter.
The re-refresh JSON Login request also will not receive a Login Refresh message from ERT in Cloud WebSocket server. Once the server accepts a re-login request message, all current streams will continue as usual.
First Login:
{
"ID":1,
"Domain":"Login",
"Key":{
"NameType":"AuthnToken",
"Elements":{
"ApplicationId":"<your app id>",
"Position":"<your position>",
"AuthenticationToken":"<your access token>"
}
}
}Re-Refresh Token re-Login:
{
"ID":1,
"Domain":"Login",
"Key":{
"NameType":"AuthnToken",
"Elements":{
"ApplicationId":"<your app id>",
"Position":"<your position>",
"AuthenticationToken":"<your new access token>"
}
},
"Refresh": false
}You can find an example code in Python from the "ELEKTRON REAL TIME IN CLOUD" section example download page.
0
Answers
-
Hello @stefanos
could you please give me your re-refresh token request message? Basically, the re-refresh token request mesage structure is different from access token request message. The re-refresh token request message need to set a "grant_type" parameter as "refresh_token", not "password" as access token request message.
Re-refresh token request:
{
"username":"<username>",
"refresh_token":"<your current refresh_token>",
"grant_type":"refresh_token",
"takeExclusiveSignOnControl": True
}Access token request:
{
"username": "<username">,
"password": "<your password>",
"grant_type":"password",
"takeExclusiveSignOnControl":True,
"scope":"<your scope>"
}If the problem still persist even you have changed a re-refresh token request message, plesae give me the following information:
- You username/machine id
- The EDP authentication URL that you sends request messages to
- You authentication and re-refresh token post request messages (please remove your password from the message)
0 -
Hi @wasin.w
I'm talking about the web socket login
The first message I sent is this (auth token hidden)
{"Domain":"Login","ID":1,"Key":{"NameType":"AuthnToken","Elements":{"ApplicationId":"256","Position":"127.0.1.1","AuthenticationToken":"eyJ0e...Wnb2A"},"Name":"CopyDo"},"Refresh":false}
This works fine and I can then subscribe to markets and receive market price updates
In 4.30 minutes I send a new auth message like this:
{"Domain":"Login","ID":3,"Key":{"NameType":"AuthnToken","Elements":{"ApplicationId":"256","Position":"127.0.1.1","AuthenticationToken":"eyJ0e...WDLoQ"},"Name":"CopyDo"},"Refresh":true}
The only difference is that I set Refresh: true
The authentication token is brand new, taken using the same refresh token that I used to get the first auth token0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 690 Datastream
- 1.5K DSS
- 629 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 560 WebSocket API
- 39 FX Venues
- 15 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 281 Open PermID
- 46 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 23 RDMS
- 2K Refinitiv Data Platform
- 724 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 106 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 95 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛