I am trying to join a zoom meeting that I have created. While joining, it shows a popup - Join Meeting timeout: No permission. I think the problem is that I am generating the wrong signature. Can someone help me out with this?
{
method: ‘join’,
status: ‘false’,
result: ‘No permission’,
errorMessage: ‘No permssion.’,
errorCode: 3713
}
I am working with SDK version 2.4.5
import React from ‘react’
import { useEffect } from ‘react’;
import { ZoomMtg } from ‘@zoomus/websdk’;
const KJUR = require(‘jsrsasign’)
var apiKey = ‘[REDACTED]’
var apiSecret = ‘[REDACTED]’
var meetingNumber = ‘[REDACTED]’
var leaveUrl = ‘http://localhost:3000’;
var userName = ‘WebSDK’
var userEmail = ‘test@gmail.com’;
var passWord = ‘y5gjZB’;
var signature = ‘’
var role = 0;
function generateSignature(sdkKey, sdkSecret, meetingNumber, role) {
const iat = Math.round((new Date().getTime() - 30000) / 1000)
const exp = iat + 60 * 60 * 2
const oHeader = { alg: ‘HS256’, typ: ‘JWT’ }
const oPayload = {
sdkKey: sdkKey,
mn: meetingNumber,
role: role,
iat: iat,
exp: exp,
appKey: sdkKey,
tokenExp: iat + 60 * 60 * 2
}
const sHeader = JSON.stringify(oHeader)
const sPayload = JSON.stringify(oPayload)
const sdkJWT = KJUR.jws.JWS.sign(‘HS256’, sHeader, sPayload, sdkSecret)
return sdkJWT
}
signature = generateSignature(apiKey, apiSecret, meetingNumber, role);
console.log(signature)
const Zoom = () => {
useEffect(() => {
showZoomDiv();
ZoomMtg.setZoomJSLib('https://source.zoom.us/2.4.5/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
initiateMeet();
}, [])
const showZoomDiv = () => {
document.getElementById("zmmtg-root").style.display = "block";
}
const initiateMeet = () => {
ZoomMtg.init({
leaveUrl: leaveUrl,
isSupportAV: true,
success: (success) => {
console.log(success)
ZoomMtg.join({
signature: signature,
meetingNumber: meetingNumber,
userName: userName,
apiKey: apiKey,
userEmail: userEmail,
passWord: passWord,
success: (success) => {
console.log(success)
},
error: (error) => {
console.log(error)
}
})
},
error: (error) => {
console.log(error)
}
})
}
return (
<div className='App'>Zoom</div>
)
}
export default Zoom
Screenshots
Device (please complete the following information):
- Device: HP Pavillon Laptop
- OS: Windows 10
- Browser: Chrome
- Browser Version 102.0.5005.115