"Fail to join the meeting" error

Description : I figured out Oauth and how to create a meeting, but when I try to join the meeting, I receive a “fail to join the meeting” error.

SDK Version : 2.4.0

Reproducible Steps : https://instalawyer.ca/video.php

Additional Context :

The meeting is still going on my phone, so it has definitely started. I checked the meeting number against what’s entered below.

client.join({
  sdkKey: "[REDACTED]",
  signature: "[REDACTED]",
  meetingNumber: "[REDACTED]",
  password: "999",
  userName: "KenP",
});

I ran the signature through a JWT debugger, and it spits out:

Header
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload
{
  "appKey": "[REDACTED]",
  "sdkKey": "[REDACTED]",
  "mn": "[REDACTED]",
  "role": 0,
  "iat": 1652678922,
  "exp": 1652686122,
  "tokenExp": 1652686122
}

I tried the JWT signature generated in Marketplace and that didn’t work either.

The meeting would have been started in Zoom API if that makes a difference.

I’ve spent hours pouring through the documentation and this forum, but nothing I try seems to work.
Thank you for any guidance you can provide!

(post deleted by author)

Greeting, @kenp,

Thank you for posting! May we know if you are using the SDK App type credentials or JWT App type to generate a signature? The first thing I’d recommend is to use the endpoint from the Sample Signature App to generate a signature and Sample-app-web to join a meeting. After successfully joining, you can compare and inspect your implementation against the working one:

Sample Web Meeting SDK

Sample Signature Node.js

Hello Ken,

I noticed a discrepancy between what our documentation says vs what it shows and the parsed JWT timestamp values you provided.

It looks like you’re trying to use PHP with our SDK, which PHP generates time in seconds, whereas our docs refer to time in seconds but show milliseconds in our code samples. This is confusing to me as well, so I will follow up and verify this with our team to see what the correct value should be documented as.

I would recommend to see what happens if you multiply your exp time by 1000 when generating your token?

JWT Signature (deprecated) → Milliseconds (const timestamp = new Date().getTime() - 30000)
SDK JWT Signature → Seconds (iat = Math.round((new Date().getTime() - 30000) / 1000))

Jürgen

2 Likes