Ensure refreshed tokens can be accessed across processes #6817
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a user enables token refreshing and horizontally scales the application (either with
--num-procs
or with a load balancer) it is possible to get into a situation where the initial HTTP request arrives on one server, triggers a token refresh, but the subsequent WS request arrives on a different server, which does not have access to the refreshed token. The problem that will then occur is that it will once again try to make a request to refresh the tokens but by that point therefresh_token
will have expired since they are single use.This PR mitigates this issue by including the refreshed token information in the token, such that we can decode it on the server that opens the WS connection.