# ZOOM Web SDK JOIN\_MEETING\_FAILED errorCode=3712

**URL:** <https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125>\
**Category:** Web\
**Created:** [July 28, 2022, 3:28am UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125 "2022-07-28T03:28:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![udty](https://avatars.discourse-cdn.com/v4/letter/u/c67d28/32.png) [@udty](https://devforum.zoom.us/u/udty)\
**Post date:** [July 28, 2022, 3:28am UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/1 "2022-07-28T03:28:48Z")

</div>

**Description**  
When I use the Zoom Web SDK to join the meeting, an error errorCode=3712 is reported. I checked the code for generating the signature, and there seems right. thanks.

**Browser Console Error**  
{type: ‘JOIN\_MEETING\_FAILED’, reason: ‘Signature is invalid.’, errorCode: 3712}

**Which Web Meeting SDK version?**  
2.5.0

**Meeting SDK Code Snippets**

```auto
public String generateSignature(String apiKey, String apiSecret, String meetingNumber, Integer role) {
        try {
            Mac hasher = Mac.getInstance("HmacSHA256");
            String ts = Long.toString(System.currentTimeMillis() - 30000);
            String msg = String.format("%s%s%s%d", apiKey, meetingNumber, ts, role);
            hasher.init(new SecretKeySpec(apiSecret.getBytes(), "HmacSHA256"));
            String message = Base64.getEncoder().encodeToString(msg.getBytes());
            byte[] hash = hasher.doFinal(message.getBytes());
            String hashBase64Str = DatatypeConverter.printBase64Binary(hash);
            String tmpString = String.format("%s.%s.%s.%d.%s", apiKey, meetingNumber, ts, role, hashBase64Str);
            String encodedString = Base64.getEncoder().encodeToString(tmpString.getBytes());
            return encodedString.replaceAll("\\=+$", "");
        }
        catch (NoSuchAlgorithmException e) {}
        catch (InvalidKeyException e) {}
        return "";
    }

    @Test
    public void testSignature() {
        String signature = this.generateSignature("zp1yfDk-RPufHFAgbbc95w", "BqJw1aBnPhoDbBctQWChUlFwXqCWKirK0jEX", "83137961703", 0);
        System.out.println(signature);
    }

```

```auto
    const client = ZoomMtgEmbedded.createClient()
    let meetingSDKElement = document.getElementById('meetingSDKElement')
    client.init({
        debug: true,
        zoomAppRoot: meetingSDKElement,
        language: 'en-US',
        customize: {
            meetingInfo: [
                'topic',
                'host',
                'mn',
                'pwd',
                'telPwd',
                'invite',
                'participant',
                'dc',
                'enctype',
            ],
            toolbar: {
                buttons: [
                    {
                        text: 'Custom Button',
                        className: 'CustomButton',
                        onClick: () => {
                            console.log('custom button')
                        }
                    }
                ]
            }
        }
    })
    client.join({
        sdkKey: 'zp1yfDk-RPufHFAgbbc95w',
        signature: 'enAxeWZEay1SUHVmSEZBZ2JiYzk1dy44MzEzNzk2MTcwMy4xNjU4OTc3MjY4NjkyLjAuWnZKUGpZRGV0eUxKajBHcVFOVGRIVEJxSzNIb2Qrd0dqT3VzZGFKekVqQT0',
        meetingNumber: '83137961703',
        password: 'H1d4UY',
        userName: 'user'
    })

```

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

- Device: macbook pro
- OS: macOS 12.4
- Browser: Chrome
- Browser Version :103.0.5060.134

---

<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 28, 2022, 1:07pm UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/2 "2022-07-28T13:07:09Z")

</div>

Greeting and Welcome @udty ,

Thank you for posting! Can you share which SDK you are using? As a first step, I’d recommend performing an isolated test to identify the root cause. To do so, you can use our sample signature app to generate the meeting signature and then manually enter the signature in the join function.

> **[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...

---

<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 29, 2022, 7:15pm UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/3 "2022-07-29T19:15:55Z")

</div>

```auto
public String generateSignature(String apiKey, String apiSecret, String meetingNumber

```

→ creates a JWT Signature (deprecated)

```auto
    client.join({
        sdkKey: 'zp1yfDk-RPufHFAgbbc95w',
        signature: ... ,

```

→ join with SDK JWT Signature ( **sdk** Key)

two different apps, both works but **not mixed**

you can easily distinguish the signature routines:

- JWT Signature (deprecated) → time in **Milliseconds**
- SDK JWT Signature → time in **Seconds**

Jürgen

---

<div class="post-metadata">

**Author:** ![udty](https://avatars.discourse-cdn.com/v4/letter/u/c67d28/32.png) [@udty](https://devforum.zoom.us/u/udty)\
**Post date:** [July 30, 2022, 4:01pm UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/4 "2022-07-30T16:01:02Z")

</div>

> [@j.schoenemeyer](#):
>
> two different apps, both works but **not mixed**

thanks, you solved my problem

---

<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:** [August 10, 2022, 1:12am UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/5 "2022-08-10T01:12:17Z")

</div>

Thanks for chiming in @j.schoenemeyer !

To add context:

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/a/d/ad17ca5ad90252ac18da7b7eaf76534465134fce.png)

## Generate the SDK JWT Signature → time in **Seconds**

[https://marketplace.zoom.us/docs/sdk/native-sdks/auth/#generate-the-sdk-jwt](https://marketplace.zoom.us/docs/sdk/native-sdks/auth/#generate-the-sdk-jwt)

## JWT App type Signature (deprecated) → time in **Milliseconds**

[https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature/](https://marketplace.zoom.us/docs/sdk/native-sdks/web/signature/)

---

<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:** [September 9, 2022, 11:12am UTC](https://devforum.zoom.us/t/zoom-web-sdk-join-meeting-failed-errorcode-3712/73125/6 "2022-09-09T11:12:19Z")

</div>

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