I’ve seem to run into an obstacle while integrating Zoom into my web application, let’s call it MyWebApp for purposes of this post. This is the workflow of the Zoom integration:
-
User logs into their MyWebApp account. (Works)
-
User navigates to the Video Meetings page within MyWebApp. (Works)
-
MyWebApp prompts the user for their Zoom login using a published Zoom OAuth app. (Works)
-
User is authenticated. MyWebApp stores the returned access tokens. (Works)
-
Using MyWebApp the user creates a scheduled Zoom meeting. (Works)
-
MyWebApp uses a Java backend, the OAuth tokens, and the Zoom API to schedule the meeting via Zoom. (Works)
** Here’s where the problem lies.
- User then attempts to Join the scheduled meeting as HOST via the Web SDK from within MyWebApp. MyWebApp launches a browser window with the Zoom Web App passing in the required parameters for the meeting. A generated signature is one of the required parameters. A generated signature requires an API Key and Secret. This can only be obtained from a Zoom JWT App. Therefore I have added a Zoom JWT App to the same account that owns the Zoom OAuth app. The signature is generated from the JWT App’s API Key and Secret.
This scenario works if:
-
The user joining the meeting as the HOST is logged into the same Zoom account that owns the OAuth and JWT apps.
-
The user joins the meeting as ATTENDEE. No OAuth is needed.
The scenario doesn’t work if:
- The user who scheduled and is joining the meeting as HOST is logged into a different OAuth account than the one that owns the OAuth and JWT apps.
In this case, the Zoom Web API returns an Invalid Signature Error.
Scenario 3 is critical in getting the Zoom integration to work within MyWebApp. The whole purpose of the integration was to allow users to manage and join meetings via their own Zoom accounts from within MyWebApp.
The requirement of needing a JWT app that is separate from the published OAuth App seems to be creating this problem.
It would appear that a user can only join a scheduled meeting as HOST, if that meeting was scheduled using the account that owns the OAuth and JWT apps.
I have seen a few other posts describing the same problem. Those posts have been closed and I did not see a solution posted.
Is there a solution to this problem or a workaround?
I have promised my users Zoom integration features and have all the code in place; however, I cannot release the feature due to this problem.