[Web SDK] Random "Joining meeting timeout. Signature is invalid" error

Our server runs on us-west region. We can see “No Permission” error in console. We are using CDN version.

Hey @umesh,

Can you share your Web SDK signature for a test meeting so I can debug further?

Thanks,
Tommy

I have a similar problem

I’m testing a web app with zoom
The test meeting is

If I try to create the signature with js with this function

function subjs () {
	console.log("JS - TEST");
	n=(new Date).getTime()-3e4;
	console.log(n);
	var signature = ZoomMtg.generateSignature({
		meetingNumber: meetingConfig.mn,
		apiKey: API_KEY,
		apiSecret: API_SECRET,
		role: meetingConfig.role,
		success: function (res) {
			console.log(res.result);
		},
	});
}

the following data is generated for me:
Time: 1611258293742
Signature:

and everything works fine

If instead I try to create the signature with PHP with the following function

date_default_timezone_set('UTC');
$time = (time() * 1000) - 30000;
$data = base64_encode($api_key . $meeting_number . $time . $role);
$hash = hash_hmac('sha256', $data, $api_secret, true);
$_sig = $api_key . "." . $meeting_number . "." . $time . "." . $role . "." . base64_encode($hash);

// return signature, url safe base64 encoded
echo " --- ".$time;
echo rtrim(strtr(base64_encode($_sig), '+/', '-_'), '=');

the following data is generated for me:
Time: 1611258294000
Signature:

But in this case it doesn’t work

Where am I wrong?

Thanks

Hey @eclypsegroup,

Thank you for reaching out to the Zoom Developer Forum. Have you tried removing the line setting the timezone? This looks like it would be the right move but I just want to make sure that it’s not interfering with the signature generation. When you logged these functions, was it at the same time?

Also, are you seeing any errors in the PHP error_log?

Thanks,
Max

Hi i am join to the meeting then facing an error “joining meeting timeout” and “signature is invalid” but I pass all write parameters and details. please help me, somebody.
also how to store this $_sig variable value in meeting.js signature variable

<?php //die("dddddd"); $api_key='9KqEY0EZFoad7s8sq7GkyEsZ30Bgydd0qkhV'; $api_sercet='YKdG78n3qaAwTYSCF56kkz29YyDQlyK9IEkf'; $meeting_number=97843021700; $role=0; function generate_signature( $api_key, $api_sercet, $meeting_number, $role){ $time = time() * 1000 - 30000; //time in milliseconds (or close enough) $data = base64_encode($api_key . $meeting_number . $time . $role); $hash = hash_hmac('sha256', $data, $api_sercet, true); $_sig = $api_key . "." . $meeting_number . "." . $time . "." . $role . "." . base64_encode($hash); //return rtrim(strtr(base64_encode($_sig), '+/', '-_'), '='); } generate_signature( $api_key, $api_sercet, $meeting_number, $role); ?>

Hey @abhishek.gupta2,

Thank you for reaching out to the Zoom Developer Forum. Please send an email to developersupport@zoom.us with a link to this thread. In that email, please include the signature that you’re using.

I’ll use that to investigate further.

Thanks,
Max