# Meeting Signature Invalid Error

**URL:** <https://devforum.zoom.us/t/meeting-signature-invalid-error/101683>\
**Category:** Meeting SDK\
**Created:** [January 12, 2024, 12:45am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683 "2024-01-12T00:45:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![aok](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/aok/32/51752_2.png) [@aok](https://devforum.zoom.us/u/aok)\
**Post date:** [January 12, 2024, 12:45am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/1 "2024-01-12T00:45:54Z")

</div>

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:

> [@Unable To Create Proper Digital Signature For Meetings Sdk](https://devforum.zoom.us/t/unable-to-create-proper-digital-signature-for-meetings-sdk/100814):
>
> 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…

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [January 12, 2024, 1:09am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/2 "2024-01-12T01:09:38Z")

</div>

@aok,

Can you send a sample of your JWT token?

---

<div class="post-metadata">

**Author:** ![aok](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/aok/32/51752_2.png) [@aok](https://devforum.zoom.us/u/aok)\
**Post date:** [January 12, 2024, 11:54pm UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/3 "2024-01-12T23:54:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [January 15, 2024, 3:34am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/4 "2024-01-15T03:34:03Z")

</div>

@aok ,

I’ll PM to you get the JWT token details

---

<div class="post-metadata">

**Author:** ![murungatim](https://avatars.discourse-cdn.com/v4/letter/m/ccd318/32.png) [@murungatim](https://devforum.zoom.us/u/murungatim)\
**Post date:** [April 13, 2024, 2:33pm UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/5 "2024-04-13T14:33:57Z")

</div>

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);

---

<div class="post-metadata">

**Author:** ![j.schoenemeyer](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@j.schoenemeyer](https://devforum.zoom.us/u/j.schoenemeyer)\
**Post date:** [April 14, 2024, 1:32pm UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/6 "2024-04-14T13:32:34Z")

</div>

apiKey/apiSecret (-\> JWT App) no longer works

> **[JWT App Type Deprecation FAQ](https://developers.zoom.us/docs/internal-apps/jwt-faq/#what-why-who)**
>
> The Zoom Developer Platform is an open platform that allows third-party developers to build applications and integrations upon Zoom’s video-first unified communications platform.

you have to migrate to SDK Key/SDK Secret (-\> Meeting App/General App)

> **[JWT app type migration guide](https://developers.zoom.us/docs/internal-apps/jwt-app-migration/)**
>
> The Zoom Developer Platform is an open platform that allows third-party developers to build applications and integrations upon Zoom’s video-first unified communications platform.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [April 15, 2024, 1:48am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/7 "2024-04-15T01:48:54Z")

</div>

@murungatim please start a new thread , tag me and share a sample of your generated token. Your issue might be different from this thread.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [April 15, 2024, 1:48am UTC](https://devforum.zoom.us/t/meeting-signature-invalid-error/101683/8 "2024-04-15T01:48:58Z")

</div>

Closed on April 15, 2024, 1:48am UTC


