The signature has expired errorCode: 3705

Description
Occasionally it can join meeting but when specific time I get “The signature has expired.”. what timezone I must set?

Error
{method: “join”, status: false, result: “The signature has expired.”, errorMessage: “The signature has expired.”, errorCode: 3705}

Which version?
https://dmogdx0jrul3u.cloudfront.net/1.8.5/lib

To Reproduce(If applicable)
function generate_signature ( $api_key, $api_secret, $meeting_number, $role = 0){
$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_secret, true); _sig = $api_key . “.” . $meeting_number . “.” . $time . “.” . $role . “.” . base64_encode(hash); //return signature, url safe base64 encoded return rtrim(strtr(base64_encode(sig), ‘+/’, '-’), ‘=’);
}

Screenshots

Device (please complete the following information):
Device: Noteboo
Web SERVER: Centos
Chrome Version 87.0.4280.88 (Official Build) (64-bit)

Additional context
On my local server OS windows i get no problem but on linux server i get signature has expired

Where is the generate_signature() function located? Is it on your frontend or backend?

Also, are you using the latest API?

1 Like

Hey @kamalspyinforman ,

The signature should be generated on the server side in UTC time. Checkout this post here to make sure your time settings are correct:

You can also try using this sample app to generate the Web SDK Signature.

Thanks,
Tommy