Signature is Invalid (error code 3712) using sample Web App

Format Your New Topic as Follows:

Meeting SDK Type and Version
Using Web type, version 3.8.0

Description
Hi, I’m trying to get the sample Web Meeting SDK app to work on a Raspberry Pi so that any device on the local network can use the Pi’s camera/mic on a Zoom meeting with the web client. I inserted my Client ID and Client Secret as instructed, however I get a “Signature is Invalid” error code 3712. I also wrote my own barebones app from scratch, using the same SDK version and the ZoomMtg.generateSDKSignature() function, but I get the same error.
One of the signatures I generated is: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJjZWl1QzBzUVFFaTlGTmRzTHNQVkFnIiwic2RrS2V5IjoiY2VpdUMwc1FRRWk5Rk5kc0xzUFZBZyIsImlhdCI6MTcyMTMyMDg4MiwiZXhwIjoxNzIxMzI4MDgyLCJtbiI6IjM4MzIzNjU1MjciLCJyb2xlIjoiMCJ9.dJOyn6YOsYTEe3MItmwIFlT2cN62erEfJRk78ok3ei8

Error?

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

  2. errorCode: 3712

  3. errorMessage: “Signature is invalid.”

  4. method: “join”

  5. result: “Invalid signature.”

  6. status: false

How To Reproduce

  1. Download sample Web Meeting SDK app from GitHub - zoom/meetingsdk-web-sample: Zoom Meeting SDK web sample
  2. Prepare the app as instructed by the README
  3. Run either the NPM or CDN version
  4. Join a Zoom Meeting. I hosted one from my phone. Following this step is when I get the error.

@braedonkm mn and role should be in integer format. currently you have them as string format.

image

Hi Chun,

Thanks for the reply. I changed mn and role to integers and I am still getting the same error. Here is a signature I got after this change:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJpYWFSOElMc1E5NlhvUEhGcU5jUHJRIiwic2RrS2V5IjoiaWFhUjhJTHNROTZYb1BIRnFOY1ByUSIsImlhdCI6MTcyMTM5MDU5MiwiZXhwIjoxNzIxMzk3NzkyLCJtbiI6MzgzMjM2NTUyNywicm9sZSI6MH0.7_wYU8hif8mBS4-YEehWZaKO9lUhT-lFmNAYvvpiyO8

Also I’m getting an error now like this:
TypeError: Cannot set properties of undefined (setting ‘ondevicechange’)
at e.value (zoomus-websdk-zoommtgMain.umd.min.js:2:489314)
at o (zoomus-websdk-zoommtgMain.umd.min.js:2:1713702)
at zoomus-websdk-zoommtgMain.umd.min.js:2:186964 ‘tasks error’

Thank you
Braedon

Hi @braedonkm , what version of SDK are you using?

I’m using version 3.8.0 @chunsiong.zoom with CDN

@braedonkm application needs to be published to join meeting hosted by external user

@chunsiong.zoom I am also getting the same error. Can you please help. Can you please explain what do you mean by

application needs to be published to join meeting hosted by external user

@raydedon

If your General App or Meeting SDK App is in unpublished status in marketplace.zoom.us, you will only be allowed to join meeting which are hosted by other users in your same tenant.

If the meeting is hosted by users in external tenant, you will not be able to join it, unless your App is published.

@chunsiong.zoom I have already created a server-to-server oauth app. Please have a look.


And as per the zoom documentation, a server-to-server oauth app cannot be published on the marketplace. mentioned here Create a Server-to-Server OAuth app

@raydedon how are you creating your sdk with token? You need to use the client id and client secret from either a meeting sdk app or general app. This has nothing to do with server to server app

@chunsiong.zoom Look we are using this nodejs app for the auth endpoint. This app is recommended by Zoom also.

We just need to pass clientId and clientSecret.

@chunsiong.zoom we are still receiving the following error while joining a meeting, using meeting SDK.

please have a look at the error thrown:-
{
“method”: “join”,
“status”: false,
“result”: “Invalid signature.”,
“errorCode”: 3712,
“errorMessage”: “Signature is invalid.”
}

please have a look at the below signature

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJ4UGlpb2d6Z1R2MlVFOG5KcU55Mk1RIiwic2RrS2V5IjoieFBpaW9nemdUdjJVRThuSnFOeTJNUSIsIm1uIjo3MzYxNjc1NTM4MSwicm9sZSI6MCwiaWF0IjoxNzIzMjg3NDAyLCJleHAiOjE3MjMyOTQ2MDIsInRva2VuRXhwIjoxNzIzMjk0NjAyfQ.y3ywYHfThdyRqTJhQMQq_EtGV3b-sV3vmPTHV57mV94

@raydedon please reset your password, as mentioned on duplicated thread, you will need to use a General App or Meeting SDK app. You cannot use a server to server oauth app.

Hello @chunsiong.zoom I’m facing the same problem, I’m using both react and endpoint samples without modification, and no matter what I do, I keep getting the same error.
I already activated MeetingSDK in Embed options and tried setting mn and role to integers and strings. Still no solution.

Last generated signature:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJlNVhQc2VSelNqT3JTeVY1Q1BGbGRRIiwic2RrS2V5IjoiZTVYUHNlUnpTak9yU3lWNUNQRmxkUSIsIm1uIjoiMjM1MDk1NDQxNiIsInJvbGUiOjAsImlhdCI6MTcyMzgxOTgyMSwiZXhwIjoxNzIzODI3MDIxLCJ0b2tlbkV4cCI6MTcyMzgyNzAyMX0.V_-l1-kHgP0dgkMQh0dSYM8KaSXbrqkanEevX7O27UI

Payload:

 {
  appKey: 'e5XPseRzSjOrSyV5CPFldQ',
  sdkKey: 'e5XPseRzSjOrSyV5CPFldQ',
  mn: '2350954416',
  role: 0,
  iat: 1723819821,
  exp: 1723827021,
  tokenExp: 1723827021
}

Client ID: vWnCbS1hTj2aszGsH1SmKg
Client Secret: redacted

Also, what do you mean by “Reset your password”?

Thanks!

@dpastora do not share your password / secret in clear here.

Your clientID is in production tab, but your application is not published yet.
You will need to use the clientID from the development tab instead.

Thanks @chunsiong.zoom Are there any limits on using development credentials?

@dpastora yes there are limits. The biggest one being unable to join externally hosted meetings