cancel
Showing results for 
Search instead for 
Did you mean: 
2025 CMX Awards

The Zoom Community is nominated for the 2025 CMX Community Industry Awards in the Customer Support Community category!

Vote now

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

dimasdanizaini
Newcomer
Newcomer

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!

1 REPLY 1

Ray_Harwood
Community Champion | Customer
Community Champion | Customer

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


Ray -- check out the GoodClix website or the Z-SPAN website.