Joining meeting timeout / Invalid signature / The current sdk version is no longer supported?

Meeting SDK Type and Version
3.1.0 / Meeting SDK App Type (Legacy)

Description
I’ve tried searching for my own solution before posting here but without success. I hope I can get some direction as I’m at a complete loss - apologies if I’ve missed a resource.

We have a simple Zoom integration which exists to allow a user to import their meetings/webinars and then join them from our platform via the Client view on the Meeting SDK. This has been working without too many issues for a while. Recently, I’ve been getting reports from multiple clients of a ‘invalid signature’ or ‘joining meeting timeout’ error message.

The client is an Angular micro-app embedded via iframe. The signature is generated on a python backend.

A client would create their own Meeting SDK App Type and provide their id/secret credentials which we then use access their meeting info and then to generate the signature upon joining.

Whilst troubleshooting this, after changing the offsets I’ve found I can join whilst on localhost but not when served from our development servers.

Error?

The main visible error reported:
Screenshot 2024-02-28 at 11.43.37

I have seen that the call to https://zoom.us/api/v1/wc/info is sometimes requested for diagnosis here and on checking that I can see a response (from the dev server) of the following:

{
    "status": false,
    "errorCode": 3000,
    "errorMessage": "The current sdk version is no longer supported, please upgrade to the latest version."
}

Whereas from localhost it’s a full config object in the result field.

Troubleshooting Routes
We’ve tried adjusting the iat and exp offsets but this seemed to make it even more flaky. Currently the offsets applied are:

iat = int(time.time()) - 420
exp = iat + 60 * 60 * 2

Tried updating to the latest version of the library.

Tried creating a newer embedded App Type.

Tried stripping out any padding characters from the signature.

Any help is appreciated.

@mijodu ,

I would put out a disclaimer that sharing of ID and Secret directly is highly not recommended, and puts both the client and your application at risk.

Nonetheless, could you replicate the issue and capture a web tracking ID for me?

  1. Open up console, and goto network tab
  2. Look for a URL which starts with info?meeting…
  3. In the response header, there should be something like x-zm-trackingid

If you could share the tracking ID, i might be able to help.

Hey @chunsiong.zoom, thanks for the reply. Here’s the tracking ID - apologies I didn’t include that initially:

v=2.0;clid=us02;rid=WEB_cd7518b8ec6239c839d7605944d176bc

Re: the security of sharing the credentials. Appreciate you highlighting the risk of sharing these. Our clients only provide these via a secure admin dashboard at the moment but we intend to change this flow soon.

@mijodu

I’ve figured out the cause of your issue.
The SDK which you are using is 2.11.0 and not 3.1.0.

2.11.0 no longer works after Feb 3rd.

You might need to check if the SDK has been updated to newer supported version.