# Web Embedded Meeting SDK errorCode: 3712 reason: "Signature is invalid."

**URL:** <https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837>\
**Category:** Web\
**Tags:** web-meeting-sdk\
**Created:** [April 20, 2022, 2:28pm UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837 "2022-04-20T14:28:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![fedorov.danil](https://avatars.discourse-cdn.com/v4/letter/f/22d042/32.png) [@fedorov.danil](https://devforum.zoom.us/u/fedorov.danil)\
**Post date:** [April 20, 2022, 2:28pm UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/1 "2022-04-20T14:28:00Z")

</div>

**Description**  
I’m trying to make a Component view for my customer website.  
I’ve created a Meeting using JWT with server-to-server API requests with no problem. The next step is to join this meeting and that’s where I have problems… I’ve dug into Developers Forum where I’ve found out that I need to use JWT Key and Secret for Web SDK so I created a signature with data as described in the [documentation](https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature). I’ve checked generated signature in the [jwt.io](http://jwt.io) debugger tool and everything looks proper for me…  
Here’s what shows the payload block:  
{  
“sdkKey”: “CPoOb3n6QcWK”,  
“mn”: 81722154508,  
“role”: 1,  
“iat”: 1650463468,  
“exp”: 1650470668,  
“appKey”: “CPoOb3n6QQ”,  
“tokenExp”: 1650470668  
}  
Also, it says “Signature Verified”. (tried to upload an image but apparently, I have no permission to upload images yet)…

While trying to join the meeting I get the “Signature is invalid.” error.

**Browser Console Error**

1. errorCode: 3712
2. reason: “Signature is invalid.”
3. type: “JOIN\_MEETING\_FAILED”

**Which Web Meeting SDK version?**  
“@zoomus/websdk”: “^2.3.5”

**Meeting SDK Code Snippets**  
No snippets were used.

**To Reproduce(If applicable)**  
Trying to connect via js .join method:  
let joinZoomOptions = {  
sdkKey: response.data.apiKey,  
signature: response.data.signature,  
meetingNumber: response.data.meetingNumber,  
password: response.data.password,  
userName: response.data.userName,  
}

if (response.data.zak) {  
joinZoomOptions.zak = response.data.zak  
}

v.zoomClient.join(joinZoomOptions)

**Device (please complete the following information):**  
MacBook Pro 16’ 2019  
macOS 12.2.1  
Chrome 100.0.4896.88 (Official Build) (x86\_64)

Can you please help me out? I’ve spent several hours fighting this problem and trying to generate signature with different methods and different keys (JWT and SDK)…

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [April 25, 2022, 4:35pm UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/2 "2022-04-25T16:35:03Z")

</div>

Hi there! @fedorov.danil

Thanks for reaching out to the Zoom Developer Forum, I am happy to help here!  
Have you looked into our docs here on how to generate a valid Signature?

> **[Generate Signature](https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature/)**
>
> 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.

Also, here is a link to our sample app that could also help you as a guide for your app:

> **[GitHub - zoom/meetingsdk-sample-signature-node.js: Generate a signature to...](https://github.com/zoom/meetingsdk-sample-signature-node.js)**
>
> Generate a signature to Start and Join Meetings and Webinars with the Zoom Meeting SDKs. - GitHub - zoom/meetingsdk-sample-signature-node.js: Generate a signature to Start and Join Meetings and Web...

Hope this helps,  
Elisa

---

<div class="post-metadata">

**Author:** ![fedorov.danil](https://avatars.discourse-cdn.com/v4/letter/f/22d042/32.png) [@fedorov.danil](https://devforum.zoom.us/u/fedorov.danil)\
**Post date:** [April 26, 2022, 12:34am UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/3 "2022-04-26T00:34:35Z")

</div>

Thanks for your reply. I’ve tried the PHP example code from the first link. And it returns a signature that looks like this:  
Q1BvT2IzbjZRY1dLVFlmNlYwVGZTUS44NzE2MTIwNjkzMC4xNjUwOTMxOTYwMDAwLjEuRW5RZ2RZcmEyVnlVZjVST0VGdjNpcnBDdUpsTzJTcnFSbjBxR2QwaGVyWT0  
Which I believe doesn’t looks like JWT token, and it also gives the same error: “Signature is invalid”.

Also, if we check the signature example from the second link and debug it with [jwt.id debugger](https://jwt.io/) then we’ll see that it’s Payload is:  
{  
“sdkKey”: “abc123”,  
“mn”: “123456789”,  
“role”: 0,  
“iat”: 1646937553,  
“exp”: 1646944753,  
“appKey”: “abc123”,  
“tokenExp”: 1646944753  
}

And, it looks the very same as the signature I’ve generated with my PHP code. Here’s the example of JWT token generated with my code and [jwt.io](http://jwt.io) debugger results:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZGtLZXkiOiJDUG9PYjNuNlFjV0tUWWY2VjBUZlNRIiwibW4iOjg3MTYxMjA2OTMwLCJyb2xlIjoxLCJpYXQiOjE2NTA5MzI4NjksImV4cCI6MTY1MDk0MDA2OSwiY

HEADER:ALGORITHM & TOKEN TYPE  
{  
“typ”: “JWT”,  
“alg”: “HS256”  
}

PAYLOAD:DATA  
{  
“sdkKey”: “CPoOb3n6QcWK”,  
“mn”: 87161206930,  
“role”: 1,  
“iat”: 1650932869,  
“exp”: 1650940069,  
“appKey”: “CPoOb3n6QcWK”,  
“tokenExp”: 1650940069  
}

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [April 26, 2022, 8:07pm UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/4 "2022-04-26T20:07:26Z")

</div>

Hey @fedorov.danil so are you not able to generate the signature using the sample app that I have shared with you?

---

<div class="post-metadata">

**Author:** ![fedorov.danil](https://avatars.discourse-cdn.com/v4/letter/f/22d042/32.png) [@fedorov.danil](https://devforum.zoom.us/u/fedorov.danil)\
**Post date:** [April 27, 2022, 1:51am UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/5 "2022-04-27T01:51:39Z")

</div>

So, I’ve tried to create a signature with an example app that you’ve shared.  
As I can see the logic is the same I used to create my token. And it suggests using SDK keys instead of JWT keys. So, in case I use the JWT key (the same key I used to [create a meeting](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingCreate) with an API request) it returns “Signature is invalid”. And, in case I use SDK keys it returns:  
errorCode: 200  
reason: “Fail to join the meeting.”

So both options aren’t working for me…

P.S. Here’s why I’ve used the JWT token and not an SDK token - [Zoom sample-web-app "Signature is invalid" 3712 error code - #3 by wizard\_files3](https://devforum.zoom.us/t/zoom-sample-web-app-signature-is-invalid-3712-error-code/40089/3)

---

<div class="post-metadata">

**Author:** ![fedorov.danil](https://avatars.discourse-cdn.com/v4/letter/f/22d042/32.png) [@fedorov.danil](https://devforum.zoom.us/u/fedorov.danil)\
**Post date:** [April 27, 2022, 2:15am UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/6 "2022-04-27T02:15:41Z")

</div>

And another strange thing happened… I’ve checked [API Call Logs](https://marketplace.zoom.us/user/logs) and tried to use the start\_url of a meeting that I created via [create meeting API](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingCreate) and it says “Sorry… Wrong conference ID. (3 001)”. That looks weird to me… Here’s a meeting ID that fails 84015368006. Actually, all meetings created with API requests are failing with the same error.

---

<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:** [May 27, 2022, 12:15pm UTC](https://devforum.zoom.us/t/web-embedded-meeting-sdk-errorcode-3712-reason-signature-is-invalid/67837/7 "2022-05-27T12:15:55Z")

</div>

Closed on May 27, 2022, 12:15pm UTC

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