We’re experiencing a consistent and reproducible issue with the Zoom Meeting SDK (Web, embedded client) related to breakout rooms and token expiration.
Setup:
We initialize the SDK using a JWT token with a 2-hour validity.
SDK version: latest available via NPM (we are always using the most up-to-date release).
The meeting starts and runs smoothly — users can join and interact in the main session.
The Problem:
When a user is assigned to a breakout room, the SDK internally generates a new token, but this one only lasts 15 minutes.
Once this token expires, the SDK does not refresh it automatically, nor does it allow us to manually update it “on the fly” (as confirmed by Zoom support).
When the host/admin tries to bring users back from the breakout room after the 15 minutes have passed, they receive an error and are disconnected or stuck.
Error Message:
Joining Meeting Timeout or Browser Restriction
Technical Details:
The issue is 100% reproducible, not intermittent.
Inspecting the browser’s Network tab, we observed the refresh_token endpoint being hit multiple times (around 5) once the user is pulled from the breakout room.
However, since the internal token is already expired, the SDK fails to refresh it and throws the error.
This maybe suggests the problem is within the SDK’s token management, not in the implementation.
Is anyone else facing this issue or found a way to handle token renewal properly in breakout rooms?
Any help or acknowledgment would be appreciated. Thanks!
Just following up on this thread. I’m actively working on this integration and wanted to check if there have been any updates or findings regarding the breakout room token expiration issue.
Really appreciate your support!
Hey @ryandgs
Thanks for your patience here!
I was out for a couple of days and could not get back to you
I don’t fully understand the issue you are having.
Would you be able to record this issue? have you been able to replicate it in with our sample app? GitHub - zoom/meetingsdk-web-sample: Zoom Meeting SDK web sample
I tried replicating the issue with this sample app but I was not able to
Step 1: As host, create a breakout room
Step 2: Assign a participant to it
Step 3: As the participant, join the breakout room
At this point, the SDK will call zoom.us/refresh_tokens and will generate a 15min token
Step 4: Wait 15+ min for the token to expire
Step 5: As host, close the breakout room
Step 6: As the participant, try to go back to the main room
Step 7: Error
Hope this helps!
(I’m trying to post a link to a gif showing the steps above but it’s not letting me)
https:// drive . google . com/file/d/1Nhak8Bt7NETlkWsBB8oxfJdqD3tQjz5Z/view?usp=sharing