# Signature is invalid in react app

**URL:** <https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002>\
**Category:** Web\
**Created:** [December 22, 2020, 4:56pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002 "2020-12-22T16:56:43Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![partitatripla](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/partitatripla/32/20517_2.png) [@partitatripla](https://devforum.zoom.us/u/partitatripla)\
**Post date:** [December 22, 2020, 4:56pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/1 "2020-12-22T16:56:43Z")

</div>

**Description**  
I have create an app, and followed the instruction found here [@zoomus/websdk - npm](https://www.npmjs.com/package/@zoomus/websdk), but always get “Signature is invalid” error

**Error**  
Signature is invalid.

**Which version?**  
1.8.5

**To Reproduce(If applicable)**  
Steps to reproduce the behavior:

1. Create app in Zoom Marketplace
2. Clone [GitHub - zoom/meetingsdk-auth-endpoint-sample: Generate a Meeting SDK JWT to join Zoom meetings and webinars with the Meeting SDK.](https://github.com/zoom/websdk-sample-signature-node.js) to local
3. Add .env file with my SDK Key and Secret
4. Start node project
5. Create new React app
6. Add @zoomus/websdk package and made node\_modules/@zoomus/websdk/dist/lib/ folder accessible
7. Add this code to initialize ZoomMeeting

> import { ZoomMtg } from ‘@zoomus/websdk’  
> import http from ‘axios’
> 
> const signatureEndpoint = ‘localhost:4000’ (with http://)  
> const apiKey = ‘MY\_APIKEY’  
> const meetingNumber = ‘MY\_MEETING\_NR’  
> const role = 0  
> const leaveUrl = ‘localhost:3000’ (with http://)  
> const userName = ‘Test user’  
> const userEmail = ‘’  
> const passWord = ‘’
> 
> ZoomMtg.preLoadWasm();  
> ZoomMtg.prepareJssdk();  
> http.post(signatureEndpoint, {  
> “meetingNumber”: meetingNumber,  
> “role”: role  
> }).then(response =\> {  
> ZoomMtg.init({  
> leaveUrl: leaveUrl,  
> isSupportAV: true,  
> success: (success) =\> {  
> console.log(success)  
> ZoomMtg.join({  
> signature: response.data.signature,  
> meetingNumber: meetingNumber,  
> userName: userName,  
> apiKey: apiKey,  
> userEmail: userEmail,  
> passWord: passWord,  
> success: (success) =\> {  
> console.log(success)  
> },  
> error: (error) =\> {  
> console.error(‘Err’)  
> console.log(error)  
> }  
> })
> 
> ```
> },
> error: (error) => {
> console.log(error)
> }
> })
> 
> ```
> 
> })

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [December 23, 2020, 10:51pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/2 "2020-12-23T22:51:56Z")

</div>

Hey @partitatripla,

Happy to help! Can you please provide your [Web SDK Signature](https://marketplace.zoom.us/docs/sdk/native-sdks/web/build/signature) for a test meeting to [developersupport@zoom.us](mailto:developersupport@zoom.us) with the issue so I can debug it for you?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![partitatripla](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/partitatripla/32/20517_2.png) [@partitatripla](https://devforum.zoom.us/u/partitatripla)\
**Post date:** [December 24, 2020, 8:31am UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/3 "2020-12-24T08:31:03Z")

</div>

Hi, thanks for the reply.  
This is the key:

---

<div class="post-metadata">

**Author:** ![MaxM](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/maxm/32/42303_2.png) [@MaxM](https://devforum.zoom.us/u/MaxM)\
**Post date:** [December 28, 2020, 6:11pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/4 "2020-12-28T18:11:26Z")

</div>

Hey @partitatripla,

Thank you for providing additional information. Just to clarify, are you using this signature to join a meeting that was already started? It’s important to note that when using the role of 0, the Web SDK will only attempt to join an ongoing meeting. Looking at our internal system, it looks like that meeting, in particular, was removed. Please try joining an existing and ongoing meeting or changing the role to 1 and starting a meeting.

I hope that helps!

Thanks,  
Max

---

<div class="post-metadata">

**Author:** ![partitatripla](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/partitatripla/32/20517_2.png) [@partitatripla](https://devforum.zoom.us/u/partitatripla)\
**Post date:** [December 28, 2020, 6:54pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/5 "2020-12-28T18:54:08Z")

</div>

I’ve tried both thing,

- start the meeting with given ID (920 xxx xx49)
- set role to 1 and try to start a meeting.  
But in both case i receive the same error “Signature is invalid”

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [December 29, 2020, 6:42pm UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/6 "2020-12-29T18:42:11Z")

</div>

Hey @partitatripla,

After debugging your signature, you are using an SDK App instead of a [JWT App](https://marketplace.zoom.us/docs/guides/build/jwt-app).

Please create a [JWT App](https://marketplace.zoom.us/docs/guides/build/jwt-app) and use those credentials to [generate the signature](https://marketplace.zoom.us/docs/sdk/native-sdks/web/build/signature). 🙂

Thanks,  
Tommy

---

<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:** [January 29, 2021, 4:42am UTC](https://devforum.zoom.us/t/signature-is-invalid-in-react-app/39002/7 "2021-01-29T04:42:13Z")

</div>

Closed on January 29, 2021, 4:42am UTC

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