ZoomMtg.join() returns "The signature has expired."

Hello Tommy,

We are facing same problem in windows 10 os can you please provide the signature example app to us.

Thank You…

Hey @kumkumschool,

Here are instructions to generate the signature, and the sample app:

Thanks,
Tommy

Hello guys
I’m having the same issue here, generating the signature using the websdk or manually implementing the code mentioned here. I don’t see a solution on the web, I noticed that most of the times the error just goes away for the ones who had the problem without implementing any solution.

any advice ?

Hi @ramy.dridi

Most of the times the issue is because the laptop date and time settings are not correct. Either the time is not correct or timezone is not correct. Once you rectify this and set the time to auto sync, this should get resolved.

Hello @helloparent , Thank you for replying!
so I read that generating the signature on the server might fix the problem. however, fixing the date/timezone of the server means that I should set the right timezone for it depending on its place? is that it?
thank you again!

For us setting the timezone of the computer/laptop on which the SDK is running right solved the issue.

I guess that’s not practical for my case. the app will be used by hundreds each day and fix the date/timezone is a bit handy for me of users (yeah, believe me)

anyway, thanks for your input, I’ll try the backend solution and will leave the solution here if it works, thank you again!

Hey @ramy.dridi,

Were you able to get it working?

Thanks for your input @helloparent! :slight_smile:

Thanks,
Tommy

Hello,
the problem is the timezone as mentioned before, so I started testing different timezones, and also trying to add/remove some milli-seconds depending (I sync with https://time.is/) and I then generate the signature on the server as mentioned here as a solution, but what I did is for testing purposes only.

so bottom line, you need to have the exact same time as your timezone time.

Happy to hear you got it working! :slight_smile:

-Tommy

@tommy I am using the latest Websdk version 1.8.1 for my Angular and C# project. I generated the signature using given example here: https://marketplace.zoom.us/docs/sdk/native-sdks/web/build/signature

It is working fine on local but after deploying it on the production IIS server, it is giving The signature has expired. with Error code 3705 error. The server’s timezone is UTC + 5:30.

I tried in Firefox and as well in Chrome brower.

Can you please help me to sort out this issue asap?

Hey @dipapatra2012,

Can you please see if it works with just UTC time? The 5:30 + is most likely causing the issue.

Thanks,
Tommy

We getting The signature has expired with Error code 3705 error in some of the system.But same meeting working in other system. we tried in Chrome and IE browser.
Can you help us to sort out this issue asap?

Hey @techaravi,

Please share the code you are using to generate your Web SDK signature, as well as one of your signatures for a test meeting where you are seeing the same issue. :slight_smile:

Thanks,
Tommy

We are using Version 1.7.9. The below code using to generate signature
ZoomMtg.generateSignature({
meetingNumber: config.mn,
apiKey: API_KEY,
apiSecret: API_SECRET,
role: config.role,
success: function(res) {
console.log(res.result);
},
error: function(res) {
console.log(res);
}
});

We are getting the error while joining the meeting.And its happening in some of the machine, same meeting working in other machine.

Hey @techaravi,

Thank you, can you double check the time settings on your machine, or generate the signature on the server side. You can use this sample app, and it should work:

Thanks,
Tommy

I had this issue.
Steps I took to solve it are

  1. Make sure you are using jwt token API KEY and API SECRET.
  2. Check your system time. This error will come if your local device time is wrongly set or wrong time zone.

Hope this helps someone.

1 Like

Thanks for sharing this @nafiudanlawal ! :slight_smile:

We really appreciate your contribution to the Zoom Developer Community!

-Tommy

Hello @tommy image

  var signature = ZoomMtg.generateSignature({
    meetingNumber: meetingConfig.mn,
    apiKey: API_KEY,
    apiSecret: API_SECRET,
    role: meetingConfig.role,
    success: function (res) {
      console.log(res.result);
      meetingConfig.signature = res.result;
      meetingConfig.apiKey = API_KEY;
      var joinUrl = "http://zoom-class.test/meeting.html?" + testTool.serialize(meetingConfig);
      console.log(joinUrl);
      window.open(joinUrl, "_blank");
    },
  });

after 24 hours create the signature is expired.
Can you please help me to sort out this issue asap?

Hey @salam.farrukh,

Thank you for reaching out to the Zoom Developer Forum. Are you hosting this meeting for the entire 24 hours and then seeing that the signature expires? Typically Zoom meetings have a maximum duration of 24 hours which could be a factor here.

Other than I would recommend that you generate the signature prior to the user joining and that should avoid expiration issues for each user as well.

I hope that helps! Let me know if you have any questions.

Thanks,
Max