# Embed Zoom experience in my website

**URL:** <https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554>\
**Category:** Web\
**Created:** [June 1, 2021, 7:03pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554 "2021-06-01T19:03:38Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ed.arenberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ed.arenberg/32/27800_2.png) [@ed.arenberg](https://devforum.zoom.us/u/ed.arenberg)\
**Post date:** [June 1, 2021, 7:03pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/1 "2021-06-01T19:03:38Z")

</div>

I’m trying to embed the Zoom experience into a website. The goal is have Zoom as part of a larger website experience. I have worked through the examples of using the Web SDK. I have a backend that generates a signature per the example. I have a website that loads up the Web SDK and follows the steps to define a meeting configuration, initialize the meeting as a host, and join the meeting.

I can view the website and see the Zoom interface. But when I try to join the meeting, I get an error on my site (javascript console) about the signature length being wrong: 0 \< length \< 150.

The server code example notes the keys are for a JWT token, but I’m building an SDK app and used those keys (App ID and Secret).

---

<div class="post-metadata">

**Author:** ![ed.arenberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ed.arenberg/32/27800_2.png) [@ed.arenberg](https://devforum.zoom.us/u/ed.arenberg)\
**Post date:** [June 1, 2021, 7:09pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/2 "2021-06-01T19:09:22Z")

</div>

I have read through other forum posts about the 0 \< length \< 150 error, but they have not helped. My signature is properly formatted with a room ID and role and other elements (API Key, etc.).

---

<div class="post-metadata">

**Author:** ![ed.arenberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ed.arenberg/32/27800_2.png) [@ed.arenberg](https://devforum.zoom.us/u/ed.arenberg)\
**Post date:** [June 1, 2021, 7:13pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/3 "2021-06-01T19:13:15Z")

</div>

I tried creating a JWT app and using its credentials (key and secret) for the signature generation. This results in a different error:

No permission, with error code 3713.

---

<div class="post-metadata">

**Author:** ![ed.arenberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ed.arenberg/32/27800_2.png) [@ed.arenberg](https://devforum.zoom.us/u/ed.arenberg)\
**Post date:** [June 1, 2021, 7:17pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/4 "2021-06-01T19:17:15Z")

</div>

Note that in both cases above I adjust the client web app to use the appropriate API key.

---

<div class="post-metadata">

**Author:** ![alexmayo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/alexmayo/32/27289_2.png) [@alexmayo](https://devforum.zoom.us/u/alexmayo)\
**Post date:** [June 2, 2021, 1:42pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/5 "2021-06-02T13:42:14Z")

</div>

Hi @ed.arenberg,

Welcome to the community.

> [@ed.arenberg](#):
>
> The server code example notes the keys are for a JWT token, but I’m building an SDK app and used those keys (App ID and Secret).

For the Web Client SDK, you should use a JWT API Key and Secret, instead of SDK credentials as mentioned [here](https://marketplace.zoom.us/docs/sdk/native-sdks/auth).

Please could you try joining the meeting again using the credentials mentioned above?

If it still does not work, please post the code you have written to geenrate your signature (redacting any api keys and tokens).

Thanks,  
Alex

---

<div class="post-metadata">

**Author:** ![ed.arenberg](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ed.arenberg/32/27800_2.png) [@ed.arenberg](https://devforum.zoom.us/u/ed.arenberg)\
**Post date:** [June 2, 2021, 4:12pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/6 "2021-06-02T16:12:35Z")

</div>

@alexmayo Thanks for the reply. As you’ll note in my followups, I did switch to the JWT keys and experienced the permission error with code 3713. I start a meeting on my phone, get the meeting number and password, and try to join it from the Web app and get that permission error. Here’s my signature code:

````auto
require('dotenv').config()
const express = require('express')
const bodyParser = require('body-parser')
const crypto = require('crypto')
const cors = require('cors')

const app = express()
const port = process.env.PORT || 4000

app.use(bodyParser.json(), cors())
app.options('*', cors());

app.post('/', (req, res) => {

    console.log(req.body);
    const timestamp = new Date().getTime() - 30000 // - 30000
    const msg = Buffer.from(process.env.ZOOM_JWT_API_KEY + req.body.meetingNumber + timestamp + req.body.role).toString('base64')
    const hash = crypto.createHmac('sha256', process.env.ZOOM_JWT_API_SECRET).update(msg).digest('base64')

    const sig = `${process.env.ZOOM_JWT_API_KEY}.${req.body.meetingNumber}.${timestamp}.${req.body.role}.${hash}`;
    console.log(sig);

    const signature = Buffer.from(sig).toString('base64')
    console.log(signature);

  res.json({
    signature: signature
  })
})

app.listen(port, () => console.log(`Zoom Web Client SDK Sample Signature Node.js on port ${port}!`))```
````

---

<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:** [June 4, 2021, 2:07am UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/7 "2021-06-04T02:07:18Z")

</div>

Hey @ed.arenberg,

Please send an email to [developersupport@zoom.us](mailto:developersupport@zoom.us) with a link to this thread. In that email, please include the signature that you’re using. I’ll investigate further from there.

Thanks,  
Max

---

<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:** [July 4, 2021, 12:08pm UTC](https://devforum.zoom.us/t/embed-zoom-experience-in-my-website/51554/8 "2021-07-04T12:08:04Z")

</div>

Closed on July 4, 2021, 12:08pm UTC

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