# Zoom OAuth + JWT Issues

**URL:** <https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157>\
**Category:** API and Webhooks\
**Created:** [October 23, 2020, 7:14pm UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157 "2020-10-23T19:14:32Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![m.warble](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/m.warble/32/56265_2.png) [@m.warble](https://devforum.zoom.us/u/m.warble)\
**Post date:** [October 23, 2020, 7:14pm UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157/1 "2020-10-23T19:14:33Z")

</div>

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:

1. User logs into their MyWebApp account. (Works)

2. User navigates to the Video Meetings page within MyWebApp. (Works)

3. MyWebApp prompts the user for their Zoom login using a published Zoom OAuth app. (Works)

4. User is authenticated. MyWebApp stores the returned access tokens. (Works)

5. Using MyWebApp the user creates a scheduled Zoom meeting. (Works)

6. 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.

1. 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:

1. The user joining the meeting as the HOST is logged into the same Zoom account that owns the OAuth and JWT apps.

2. The user joins the meeting as ATTENDEE. No OAuth is needed.

The scenario doesn’t work if:

1. 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.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [October 26, 2020, 8:03pm UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157/2 "2020-10-26T20:03:04Z")

</div>

Hi @m.warble,

Thank you for wording your workflow so precisely, and I understand the issue you’re running into here.

You’ve raised a similar concern to this thread, which you might find helpful for how best to handle this:

> [@Start a meeting on behalf of a user - Web SDK with OAuth](https://devforum.zoom.us/t/regarding-the-zoom-meeting-setup-in-my-website/27245/2):
>
> Hey @mayank.patel, We discourage asking customers to share their JWT Credentials with developers. I do see the headache here how you can’t use OAuth to start meetings for a user via the Web SDK since the Web SDK can only start meetings owned by the same account as the JWT App. I will share this feedback with our team and see if we can expand the Web SDK authentication to allow authorized users to start their own meetings. (CS-2206) In the meantime, I suggest having the host of the meeting s…

At the moment, I’m afraid there’s no direct way to handle this exact situation, but it’s something that has been raised with our team. (CS-2206)

Your best bet for now would be to have the host of the meeting start the meeting via the start\_url and Zoom App first, and then have the other participants join via the Web SDK, as Tommy mentioned in the linked thread above.

That said, I realize this is not ideal, and do appreciate the issue this causes for your integration. I will be sure to raise this feedback with our team.

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![m.warble](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/m.warble/32/56265_2.png) [@m.warble](https://devforum.zoom.us/u/m.warble)\
**Post date:** [October 27, 2020, 1:41pm UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157/3 "2020-10-27T13:41:06Z")

</div>

Okay thanks. Is there a way to check the progress of CS-2206?

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [October 28, 2020, 4:07pm UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157/4 "2020-10-28T16:07:23Z")

</div>

Hey @m.warble,

This is an internal identifier, but you can stay subscribed to this thread and our [Changelog](https://marketplace.zoom.us/docs/changelog) for updates.

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [November 28, 2020, 2:07am UTC](https://devforum.zoom.us/t/zoom-oauth-jwt-issues/34157/5 "2020-11-28T02:07:26Z")

</div>

Closed on November 28, 2020, 2:07am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
