Web Embedded Meeting SDK errorCode: 3712 reason: "Signature is invalid."

Description
I’m trying to make a Component view for my customer website.
I’ve created a Meeting using JWT with server-to-server API requests with no problem. The next step is to join this meeting and that’s where I have problems… I’ve dug into Developers Forum where I’ve found out that I need to use JWT Key and Secret for Web SDK so I created a signature with data as described in the documentation. I’ve checked generated signature in the jwt.io debugger tool and everything looks proper for me…
Here’s what shows the payload block:
{
“sdkKey”: “CPoOb3n6QcWK”,
“mn”: 81722154508,
“role”: 1,
“iat”: 1650463468,
“exp”: 1650470668,
“appKey”: “CPoOb3n6QQ”,
“tokenExp”: 1650470668
}
Also, it says “Signature Verified”. (tried to upload an image but apparently, I have no permission to upload images yet)…

While trying to join the meeting I get the “Signature is invalid.” error.

Browser Console Error

  1. errorCode: 3712
  2. reason: “Signature is invalid.”
  3. type: “JOIN_MEETING_FAILED”

Which Web Meeting SDK version?
@zoomus/websdk”: “^2.3.5”

Meeting SDK Code Snippets
No snippets were used.

To Reproduce(If applicable)
Trying to connect via js .join method:
let joinZoomOptions = {
sdkKey: response.data.apiKey,
signature: response.data.signature,
meetingNumber: response.data.meetingNumber,
password: response.data.password,
userName: response.data.userName,
}

if (response.data.zak) {
joinZoomOptions.zak = response.data.zak
}

v.zoomClient.join(joinZoomOptions)

Device (please complete the following information):
MacBook Pro 16’ 2019
macOS 12.2.1
Chrome 100.0.4896.88 (Official Build) (x86_64)

Can you please help me out? I’ve spent several hours fighting this problem and trying to generate signature with different methods and different keys (JWT and SDK)…

Hi there! @fedorov.danil

Thanks for reaching out to the Zoom Developer Forum, I am happy to help here!
Have you looked into our docs here on how to generate a valid Signature?

Also, here is a link to our sample app that could also help you as a guide for your app:

Hope this helps,
Elisa

Thanks for your reply. I’ve tried the PHP example code from the first link. And it returns a signature that looks like this:
Q1BvT2IzbjZRY1dLVFlmNlYwVGZTUS44NzE2MTIwNjkzMC4xNjUwOTMxOTYwMDAwLjEuRW5RZ2RZcmEyVnlVZjVST0VGdjNpcnBDdUpsTzJTcnFSbjBxR2QwaGVyWT0
Which I believe doesn’t looks like JWT token, and it also gives the same error: “Signature is invalid”.

Also, if we check the signature example from the second link and debug it with jwt.id debugger then we’ll see that it’s Payload is:
{
“sdkKey”: “abc123”,
“mn”: “123456789”,
“role”: 0,
“iat”: 1646937553,
“exp”: 1646944753,
“appKey”: “abc123”,
“tokenExp”: 1646944753
}

And, it looks the very same as the signature I’ve generated with my PHP code. Here’s the example of JWT token generated with my code and jwt.io debugger results:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZGtLZXkiOiJDUG9PYjNuNlFjV0tUWWY2VjBUZlNRIiwibW4iOjg3MTYxMjA2OTMwLCJyb2xlIjoxLCJpYXQiOjE2NTA5MzI4NjksImV4cCI6MTY1MDk0MDA2OSwiY

HEADER:ALGORITHM & TOKEN TYPE
{
“typ”: “JWT”,
“alg”: “HS256”
}

PAYLOAD:DATA
{
“sdkKey”: “CPoOb3n6QcWK”,
“mn”: 87161206930,
“role”: 1,
“iat”: 1650932869,
“exp”: 1650940069,
“appKey”: “CPoOb3n6QcWK”,
“tokenExp”: 1650940069
}

Hey @fedorov.danil so are you not able to generate the signature using the sample app that I have shared with you?

So, I’ve tried to create a signature with an example app that you’ve shared.
As I can see the logic is the same I used to create my token. And it suggests using SDK keys instead of JWT keys. So, in case I use the JWT key (the same key I used to create a meeting with an API request) it returns “Signature is invalid”. And, in case I use SDK keys it returns:
errorCode: 200
reason: “Fail to join the meeting.”

So both options aren’t working for me…

P.S. Here’s why I’ve used the JWT token and not an SDK token - Zoom sample-web-app "Signature is invalid" 3712 error code - #3 by wizard_files3

And another strange thing happened… I’ve checked API Call Logs and tried to use the start_url of a meeting that I created via create meeting API and it says “Sorry… Wrong conference ID. (3 001)”. That looks weird to me… Here’s a meeting ID that fails 84015368006. Actually, all meetings created with API requests are failing with the same error.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.