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

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!

Hi @diklatkerja
Thanks for reaching out to us!
Have you tried running any of our sample apps to see if you can replicate this error GitHub - zoom/meetingsdk-web-sample: Zoom Meeting SDK web sample

I have already do testing with MeetingSDK AuthEndpoint Sample and MeetingSDK Javascript that all provided from official Zoom Repository in Github. But i got the result that same as my error that i show above like in this image. Is there anything that i can do to fix this error. For information i use Server-To-Server OAuth for showing Signature that used in MeetingSDK and using ClientID and ClientSecret for Authentication.

Here’s a link for Error Condition:

https://drive.google.com/file/d/1S5wgpJwHd5OTZy3rhXoJ3IEP0JZfuOt3/view?usp=drive_link

It always show Signature is Invalid…

Hey @diklatkerja
You should use your client ID and client secret to generate the signature.

Hello could you please let me know if the error still exists ?
I got the same setup using Client ID and secret and it still doesn’t work
only place I don’t understand is the * Server clock synchronized. point
I’d much appreciate your reply