Description
I’m having trouble generating a valid signature via API for joining meetings using the Zoom Meeting SDK. The client app either throws a “signature is invalid” message or fails to join the meeting entirely.
When I generate the signature using the [Zoom Test SDK JWT Generator] form [docs/meeting-sdk/auth] , it works perfectly. So the issue appears to be with the way the signature is generated server-side in my implementation.
Error?
One of the following occurs:
Signature is invalid.
Fails silently or hangs during “joining meeting.”
Troubleshooting Routes
Confirmed API Key, API Secret, Meeting Number, Role, and Timestamp are correct
Double-checked JWT generation logic and structure against [Zoom’s documentation][docs/meeting-sdk/auth/]
Signature tested and working via Zoom’s Test SDK JWT Generator form
Verified timestamp is current (in seconds) and within acceptable range
Attempted using the Zoom Sample App with same credentials (results vary)
How To Reproduce Steps to reproduce the behavior including:
Authentication Method or App Type:
Using JWT signature generation via backend (Node.js)
Using Meeting SDK for Web (host/join a meeting)
Errors:
When using backend-generated signature: Signature is invalid or meeting fails to join
When using Zoom’s Test SDK JWT generator: meeting joins successfully
Browser/Client Type and Version:
Chrome version 136.0.7103.93 (Official Build) (64-bit)
You’re definitely on the right track, especially since the Zoom Test SDK JWT Generator works — that confirms your credentials and values are good. The issue is likely in how your backend generates the signature.
Here’s a working example of how to generate a valid signature in Node.js using jsrsasign: