# Client SDK Invalid Signature errorCode:200 PHP

**URL:** <https://devforum.zoom.us/t/client-sdk-invalid-signature-errorcode-200-php/85056>\
**Category:** Web\
**Created:** [March 21, 2023, 12:04pm UTC](https://devforum.zoom.us/t/client-sdk-invalid-signature-errorcode-200-php/85056 "2023-03-21T12:04:45Z")\
**Posts on this page:** 1\
**Showing post:** 3

<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:** [March 22, 2023, 6:31am UTC](https://devforum.zoom.us/t/client-sdk-invalid-signature-errorcode-200-php/85056/3 "2023-03-22T06:31:27Z")

</div>

your code for the JWT Token, not for SDK JWT Token (change time from ms to sec is not enough)

here is link to a php solution

> [@Can't generate correct web sdk signature in Laravel](https://devforum.zoom.us/t/cant-generate-correct-web-sdk-signature-in-laravel/72584/13):
>
> Yes, ofcourse. We were able to generate the working signature using this script: public function generateJWTKey(Request $request) { $key = $this-\>zoom\_api\_key; $secret = $this-\>zoom\_api\_secret; $meeting\_number = $request-\>meetingNumber; $role = $request-\>role; $token = array( "sdkKey" =\> $key, "mn" =\> $meeting\_number, "role" =\> $role, "iat" =\> time(), "exp" =\> time() + 3600, //60 seconds as su…

and here the reference implemention in js

> <https://github.com/zoom/meetingsdk-auth-endpoint-sample/blob/master/index.js>

here you can check the signature token

> **[JWT.IO](https://jwt.io/)**
>
> JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

---

_[View the full topic](https://devforum.zoom.us/t/client-sdk-invalid-signature-errorcode-200-php/85056)._
