Concurrent usage EDP

Hi all,
I have the following query about using EDP to connect to the websocket api from multiple instances of an application.
I realise that we are allowed 5 concurrent mounts per machineID to authenticate, but these must share access tokens rather than actively authentication 5 separate times.
If I refresh a token in a separate running piece of code - is there a rule/invariant about how quickly the old token will expire & my code that is listening to a websocket will fail?
With the current model that requires token sharing rather than concurrent logins - how can I avoid downtime? I'm unsure how this is possible & how other's have solved this problem previously.
I realise the last question is fairly open ended but I'm having trouble coming up with a solid solution.
Thanks in advance for the help.
Best Answer
-
Hi @Francis,
When you acquire a refresh token from AAA, the response will inform you when you need to refresh your access tokens. This value has been currently set to 300 seconds (5 minutes). To ensure your tokens do not expire, I would suggest you refresh 90% of this time, I.e. 270 seconds.
if you plan on running multiple instances of your application, I would suggest you reach out to your account manager and request for multiple IDs. I don’t think creating a complicated distributed queue of applications where a master within that group is responsible for refreshing tokens and ships them around to other members is required to manage the limitations of the current authentication. There are plans in the future to utilize a alternative authentication mechanism address the current limitation.
0
Answers
-
Hi @Francis
In the simple test scripts I was using, I shared the token and the token expiry time with the other instances - so they knew when to fetch the new token from the main instance.
In terms of the expiry time, you can get the expires_in value from the auth response as described in Authorization - All about tokens
TBH - if you discussed the multiple mount scenario with your Account Team when you signed up, I would recommend you discuss the possibility of obtaining multiple machineIDs - to avoid sharing tokens.
0 -
So you wouldn't suggest dealing with this problem at all? If I need 5 instances, rather than hand tokens around you'd suggest asking for 5 machineIDs instead?
Yes that would be much easier than handling tokens in a distributed manner. I was wondering if a separate process refreshed the token how each distributed instance might pick it up quick enough before seeing failures.I'll ask my account manager for more machineIDs as this feels the easiest.
Thanks!
0 -
Hi - thanks for the reply!
Yes I considered using a timetolive attribute. However this wouldn't be perfect in a distributed system so there may still be occasions where a couple of seconds could pass before an instance picks up the new token. Here I suspect I'd get disconnected from the websocket.
Yes given your reply and the other I'm going to ask our account manager for more machineIDs to avoid this issue.
Thanks
0
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
- 685 Datastream
- 1.4K DSS
- 616 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 556 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 652 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
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛