Gal Malachi I usually have a retry logic. So if it happens and a request is sent and has a 401 it will get the token and add it to retry list using the promise. If requests are being sent after sending the request to get the token but before setting it, I add it to the retry list. So using the request(the ones that should be sent) and response(the ones that got 401) interceptors I will add the request to the retry list and send them when the token has been refreshed using the promises(replace the old token). I use a timer to refresh the tokens but also have the retry logic attached to that. The oauth2 implementation I have worked with will not provide new tokens unless the old ones are expired, even if it would I think there are scenarios where the token would be invalid for current request. But even with this implementation I am unsure if this is a good solution, I feel there could be other scenarios in which the token would not be used/refreshed properly.