Getting 'Signature is invalid' error despite correct SDK setup and auth endpoint configuration | Community
Skip to main content
Newcomer
February 3, 2025
Question

Getting 'Signature is invalid' error despite correct SDK setup and auth endpoint configuration

  • February 3, 2025
  • 3 replies
  • 31 views

Hi Zoom community,


Description

I’m trying to integrate the Zoom Meeting SDK using the JavaScript client and the provided auth endpoint sample. However, I keep encountering the "Signature is invalid" error. Here’s what I’ve done so far:

  1. Cloned the Zoom Meeting SDK Auth Endpoint Sample and set up the server locally.

  2. Configured the .env file with my SDK Key and Secret from the Zoom Marketplace.

  3. Used the client-side code from the Zoom SDK documentation to initialize and join the meeting.

  4. Verified that the meeting number, SDK key, and role are correct.

Scenario

I want to join a Zoom meeting that does not require registration (i.e., participants can join directly without registering). I’ve already started a meeting using my Zoom account, but when I try to join the meeting programmatically using the Zoom Meeting SDK, I’m unable to join and encounter issues.

 

Debug Code

Despite this, the error persists. Here’s my client-side code:

 

function getSignature() { fetch(authEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ meetingNumber: meetingNumber, role: role }) }).then((response) => { return response.json() }).then((data) => { console.log(data) startMeeting(data.signature) }).catch((error) => { console.log(error) }) } function startMeeting(signature) { document.getElementById('zmmtg-root').style.display = 'block' ZoomMtg.init({ leaveUrl: leaveUrl, patchJsMedia: true, leaveOnPageUnload: true, success: (success) => { console.log(success) ZoomMtg.join({ signature: signature, sdkKey: sdkKey, meetingNumber: meetingNumber, passWord: passWord, userName: userName, userEmail: userEmail, tk: registrantToken, zak: zakToken, success: (success) => { console.log(success) }, error: (error) => { console.log(error) }, }) }, error: (error) => { console.log(error) } }) }

 

The get the code above from the original zoom Javascript Sample Repository

And here’s the response:

 

{ "method": "join", "status": false, "result": "Invalid signature.", "errorCode": 3712, "errorMessage": "Signature is invalid." }

 


Questions

I’ve double-checked the following:

  • SDK Key and Secret match between the client and server.

  • Meeting number is valid and belongs to the same Zoom account.

  • Server clock is synchronized.

What am I missing? Any help would be greatly appreciated!

Thanks in advance!

3 replies

Ray_Harwood
Community Super Champion | Customer
Community Super Champion | Customer
February 17, 2025

This is a question more appropriate for the Developers Forum at https://devforum.zoom.us/

New Member
February 28, 2026

Do you have a solution for it? ​@dimasdanizaini 

New Member
February 28, 2026

It looks like the “Signature is invalid” error usually comes from one of these issues:

  1. Role mismatch – Make sure the role you pass (0 for attendee, 1 for host) matches the signature generation.

  2. Time difference – The server clock must be correct; even a few seconds off can invalidate the signature.

  3. Incorrect SDK Key/Secret – Double-check that the server is using the same SDK Key/Secret used in your client code.

  4. Using Meeting SDK vs Web SDK – Ensure you’re generating the signature specifically for the Meeting SDK, not the Web SDK.

Most often, regenerating the signature server-side with the correct role and ensuring the server clock is synced resolves it.