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
errorCode: 3712
reason: “Signature is invalid.”
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)…
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:
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.”
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.