Implement retry logic for all errors, not just 503
Implement retry logic for the whole key exchange
Allow for the auth token to be supplied and if so, shortcut the whole token exchange piece. This has the advantage of speeding up multiple calls in sequence
Even after the code to retry the token request, I'm still seeing intermittent issues with token exchange errors: