# Web SDK with SDK App returns invalid signature

**URL:** <https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000>\
**Category:** Web\
**Tags:** meeting-sdk, web-meeting-sdk\
**Created:** [July 11, 2022, 10:40am UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000 "2022-07-11T10:40:51Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![codemanas17](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/codemanas17/32/7426_2.png) [@codemanas17](https://devforum.zoom.us/u/codemanas17)\
**Post date:** [July 11, 2022, 10:40am UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000/1 "2022-07-11T10:40:51Z")

</div>

**Description**  
With the impending JWT App depreciation we are looking to move SDK App type.  
I have been following the steps as provided here [https://marketplace.zoom.us/docs/sdk/native-sdks/web](https://marketplace.zoom.us/docs/sdk/native-sdks/web) and after generating SDK App type and using  
SDK App Key and Secret - i am getting the Invalid Signature error.  
The same code works with JWT App - but since JWT is being depreciated I am assuming SDK App Type should work ?

**Browser Console Error**

```auto
{
    "method": "join",
    "status": false,
    "result": "Invalid signature.",
    "errorMessage": "Signature is invalid.",
    "errorCode": 3712
}

```

**Which Web Meeting SDK version?**  
Zoom Web SDK version 2.4.5

**Meeting SDK Code Snippets**  
Not really code snippet issue i guess - the signature generation is being done the same way as on here  
[Generate Signature](https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature) - PHP

```auto
function generate_signature ( $api_key, $api_secret, $meeting_number, $role){
  //Set the timezone to UTC
  date_default_timezone_set("UTC");
	$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), '+/', '-_'), '=');
}

```

As for joining the meeting

```auto
ZoomMtg.join({
                                        meetingNumber: meetConfig.meetingNumber,
                                        userName: meetConfig.userName,
                                        signature: meetConfig.signaure,
                                        apiKey: meetConfig.apiKey,
                                        userEmail: meetConfig.email,
                                        passWord: meetConfig.passWord,
                                        success: function (res) {
                                            console.log('Join Meeting Success');
                                        },
                                        error: function (res) {
                                            console.log(res);
                                        }
                                    });

```

**Screenshots**

 ![Screen Shot 2022-07-11 at 16.24.15](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/b/b/bb32a14c01275ed15eb35cf12a871b3da584aeb0.png)

**Device (please complete the following information):**

- Device: Macbook Pro
- OS: Monterey
- Browser: Chrome
- Browser Version Version 103.0.5060.114 (Official Build) (x86\_64)

---

<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:** [July 12, 2022, 7:46pm UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000/2 "2022-07-12T19:46:03Z")

</div>

hi,  
for the the SDK App you have to create a new funktion for the signature

> **[SDK Authentication](https://marketplace.zoom.us/docs/sdk/native-sdks/auth/)**
>
> 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.

(there is no php example - only js)

and for ZoomMtg.join there ist a new parameter

```auto
sdkKey: key;

```

> <https://github.com/zoom/meetingsdk-web-sample/blob/master/CDN/js/meeting.js>

Jürgen

---

<div class="post-metadata">

**Author:** ![codemanas17](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/codemanas17/32/7426_2.png) [@codemanas17](https://devforum.zoom.us/u/codemanas17)\
**Post date:** [July 13, 2022, 11:52am UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000/3 "2022-07-13T11:52:44Z")

</div>

Hi,

I was able to generate signature for PHP using Firebase\JWT library.  
Thank you for your help - I was able to implement the solution by changing the join parameters as well.

---

<div class="post-metadata">

**Author:** ![donte.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/donte.zoom/32/24412_2.png) [@donte.zoom](https://devforum.zoom.us/u/donte.zoom)\
**Post date:** [July 13, 2022, 4:52pm UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000/4 "2022-07-13T16:52:42Z")

</div>

Great @codemanas17 ! Glad to hear you were able to generate a signature using PHP.

Thank you for sharing your insight @j.schoenemeyer 😃

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [August 13, 2022, 2:53am UTC](https://devforum.zoom.us/t/web-sdk-with-sdk-app-returns-invalid-signature/72000/5 "2022-08-13T02:53:12Z")

</div>

Closed on August 13, 2022, 2:53am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
