Invalid Signature with Sample Web App

Hey @peter.tysoe, thanks for reaching out and using Zoom!

Are you using the JWT App Type Credentials for the API_KEY and API_SECRET?

Also you must have at least a Pro Zoom account to use the SDK which could be the reason you are seeing that error. If you would like a free trial for development / testing purposes we can request that for you.

Thanks,
Tommy

Thanks for the quick reply… using JWT created in zoom/developer build app
https://marketplace.zoom.us/develop/apps/xxxxxREMOVEDxxx/credentials is that wrong?

I have also upgraded my plan.
P

Hey @peter.tysoe,

Happy to help! Perfect you are using JWT :slight_smile:

Are you still getting the error after upgrading your plan? Also double check your JWT app is activated.

If that is still not working, can you send me the code you are using to generate your signature? Should look something like this

Or this,

Thanks,
Tommy

Hi Tommy code is as per your GIT

With my JWK … I am trying too connect to an open meeting PID209-601-8837 on a separate (free account) note I didn’t request passwords but I notice a lock symbol on the iPad next to the PID

Fail: Timeout (but instant)

Help appreciated.

P

Hey @peter.tysoe,

Those credentials are SDK Credentials.

You must create a JWT app in order to use the Web SDK.

Thanks,
Tommy

2 Likes

Hi,

I encountered the same “invalid signature” problem even when I set up a Zoom meeting and used the actual meeting ID without “-”. I followed the guidelines and did not change the javascript code except for replacing “Your API Key and Secret” with my actual ones. Here is the screenshot.

Just to post another screenshot about my javascript code (new user is only allowed to post one image per time).

Hey @szliuxi199908, thanks for posting and using Zoom!

Are you using a JWT App Type for the API key and secret?

Thanks,
Tommy

Hi!
I am also experiencing this issue. Created a JWT App with key. Now what am I suppose to do with WebSDK? As of now I was generating signature and then passing it into init phase.
I can’t find any related (valid) documentation of steps necessary to join webinar with JWT access token.
Went through API docs, but can’t find related endpoint to which I should send my webinar ID and other params to obtain signature necessary for joining.
Thanks for help!

Hey @mchrenko,

For joining a webinar with the Web SDK, make sure to set the email in the init function:

// Email required for Webinars
userEmail: meetConfig.userEmail, 

Docs here:
https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/start-join-meeting

Please share screenshots, error messages, and the webinarID if you have additional issues.

Thanks,
Tommy

Hi!
Thanks for quick reply. I do know all the other params necessary for joining webinars. I did use API keys for development, but once deployed on production stack, I am having an issue with webinar joining bcs of the signature. So my question is - how to generate signature when using JWT?

My join code looks like this

ZoomMtg.join({
        meetingNumber: meetingNumber,
        userName: userName,
        userEmail: userEmail,
        signature: ???signature???, // how to calculate it when using JWT?
        apiKey: ZOOM_API_KEY,
        passWord: webinarPassword,

Thanks for any kind of help.

Hey @mchrenko,

Have you seen our docs on how to create a signature:

https://marketplace.zoom.us/docs/sdk/native-sdks/web/essential/signature

Thanks,
Tommy

Yes, we were generating signature but the generated token is not working when passed into join method. It returns errorCode 1 - join failed.
When generating locally (using ZoomMtg.generateSignature) - joining works fine.
I am struggling getting to know differences between SDK API keys vs JWT.
Anyhow currently we have sample code for generating signature at our API and when trying to join webinar, we are failing with generic error (but the only thing that changes is signature, so I assume the reason behind this issue lies somewhere near).
Can you please be more specific when we must use JWT (and how to use it) and when we can use generating signature from sample code?

Hey @mchrenko,

Yes it does sound like an issue generating the signature.

To use the Web SDK, you need to use a JWT App Type Key and Secret to generate the signature to authenticate.

To call the Zoom APIs, you can use the JWT Token.

Can you share the code you are using to generate the signature so I can help debug? Also make sure to use a real meeting ID.

Thanks,
Tommy

Thanks for replies. But I think we do not understand completely.

My working solution:

  • generating signature on the front-end (like in the sample app), using WebSDK method ZoomMtg.generateSignature()

Since for generating signature you need ZOOM API KEY SECRET, we ported this very generate signature to our API.

My production not-so-working solution:

  • have our custom API zoom/signature that returns signature based on your sample code.
  • once using this signature, I can’t join the webinar with generic error message

We use real meeting ID (9 digits, no dashes)
As we were debugging this - WebSDK generateSignature returns slightly different signatures than your Node.js sample code. We put there the same timestamp, same meeting ID, same email and username with different signature results.

Hey @mchrenko,

Please private message me the meetingID you are trying to join, as well as the signature you have generated that is throwing the error.

Thanks,
Tommy

Thank you Tommy for helping me out!

1 Like

You are welcome @mchrenko! :slight_smile:

For others reference, they were not correctly generating their signature.

Thanks,
Tommy

1 Like

We are also getting the same error. Created jwt token, APi key and secret key. generated the signature but still getting same error “Invalid Signature”. Meeting number is “162168453”

Hey @subodh.kedarm thanks for posting and using Zoom!

Can you please share your signature with me so I can debug?

Also, please checkout our sample signature code, and sample app.

Thanks,
Tommy