Zoomtopia is here. Unlock the transformative power of generative AI, helping you connect, collaborate, and Work Happy with AI Companion.
Register nowEmpowering you to increase productivity, improve team effectiveness, and enhance skills.
Learn moreKeep your Zoom app up to date to access the latest features.
Download Center Download the Zoom appDownload hi-res images and animations to elevate your next Zoom meeting.
Browse Backgrounds Zoom Virtual BackgroundsEmpowering you to increase productivity, improve team effectiveness, and enhance skills.
Zoom AI CompanionStarting February 3, 2025, Zoom Phone customers must add their phone numbers to an approved 10DLC campaign in order to keep using SMS/MMS capabilities on their numbers.
Introducing more live support options! More Zoom customers now have access to live agent chat support. Sign in and visit our Contact Support page to see all your available support options. We’re here to help!
2025-02-03 01:49 AM
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:
Cloned the Zoom Meeting SDK Auth Endpoint Sample and set up the server locally.
Configured the .env file with my SDK Key and Secret from the Zoom Marketplace.
Used the client-side code from the Zoom SDK documentation to initialize and join the meeting.
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!