aok
(Adam)
January 12, 2024, 12:45am
1
Zoom is returning a “Signature is Invalid” error for our draft app “AI Notetaker”. We have strong reason to believe this a bug on zoom’s end. We can provide more information about generating the meeting signature but we’re sure the error isn’t coming from there.
Tagging @chunsiong.zoom per this thread:
We are using Meetings SDK v2.9.7. Every time we try to connect to a meeting using the generated signature, we receive an error stating ‘Signature is Invalid’.
The generated signature and other details for a scheduled meeting are as follows:
Signature: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBLZXkiOiJoUTZQNzBwaFRYbXMyZ0RIdFlqN3pBIiwic2RrS2V5IjoiaFE2UDcwcGhUWG1zMmdESHRZajd6QSIsIm1uIjo5MTQ1NDIzOTA1Miwicm9sZSI6MSwiaWF0IjoxNzAzNTcxODg1LCJleHAiOjE3MDM2NDI5MTUsInRva2VuRXhwIjoxNzAzNjQyOTE1fQ.xT4wYR…
chunsiong.zoom
(Chun Siong (tag me for response))
January 12, 2024, 1:09am
2
@aok ,
Can you send a sample of your JWT token?
aok
(Adam)
January 12, 2024, 11:54pm
3
Our JWT code works fine if we make it as a Meeting SDK app through “Create Legacy App”; the Signature is invalid error only happens through creating a normal zoom app and toggling on the Meetings SDK. I’m sure the signature is being calculated correctly.
chunsiong.zoom
(Chun Siong (tag me for response))
January 15, 2024, 3:34am
4
@aok ,
I’ll PM to you get the JWT token details
I am also having some difficulty getting the signature
here is my code , kindly where i am doing it wrong in php
$data = json_decode(file_get_contents(‘php://input’), true);
// Your Zoom API key and secret
$apiKey = ‘G8Sde-----------------’;
$apiSecret = ‘ie7rRl2-----------------’;
$meetingNumber=$data[‘meetingNumber’];
$role=$data[‘role’];
// Generate a Zoom signature
function generateZoomSignature($apiKey, $apiSecret, $meetingNumber, $role) {
$time = time() * 1000 - 30000; // Time in milliseconds (timestamp - 30 seconds)
$data = base64_encode($apiKey . $meetingNumber . $time . $role);
$hash = hash_hmac(‘sha256’, $data, $apiSecret, true);
$signature = $apiKey . ‘.’ . $meetingNumber . ‘.’ . $time . ‘.’ . $role . ‘.’ . base64_encode($hash);
return rtrim(strtr(base64_encode($signature), ‘+/’, ‘-_’), ‘=’);
}
$signature = generateZoomSignature($apiKey, $apiSecret, $meetingNumber, $role);
// Create JSON object
$response = array(
‘signature’ => $signature
);
// Convert array to JSON and echo
echo json_encode($response);
apiKey/apiSecret (-> JWT App) no longer works
you have to migrate to SDK Key/SDK Secret (-> Meeting App/General App)
chunsiong.zoom
(Chun Siong (tag me for response))
April 15, 2024, 1:48am
7
@murungatim please start a new thread , tag me and share a sample of your generated token. Your issue might be different from this thread.