I am using Web SDK in my application. The SDK is used to create a bot and enable it to join the meetings. Since app is unapproved, it only joins meetings within the registered account. I have submitted app on marketplace and Zoom is testing it out with their review accounts but bot isn’t joining meetings. Its giving the following error:
We don’t support this login way’ message.
Why is this issue occurring and how can I resolve it,
my code is this:
var authEndpoint = '/api/zoom/jwt';
var sdkKey = ''; // Ensure this is the SDK Key
var leaveUrl = '' // Adjust according to your app's routing
// This function will be called on form submission
function joinMeetingWithDetails() {
var meetingNumber = document.getElementById('meeting-id').value;
var passWord = document.getElementById('passcode').value;
var userName = ''; // Or any logic to set a user name
var role = 1; // Adjust based on user's role, i have tested it with both 0 and 1
getSignature(meetingNumber, role, passWord, userName);
}
function getSignature(meetingNumber, role, passWord, userName) {
fetch(authEndpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
meetingNumber: meetingNumber,
role: role
})
}).then(response => response.json())
.then(data => {
console.log(data);
startMeeting(data.signature, meetingNumber, passWord, userName);
}).catch(error => {
console.error(error);
});
}
function startMeeting(signature, meetingNumber, passWord, userName) {
ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/3.1.2/lib", "/av");
ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();
ZoomMtg.init({
leaveUrl: leaveUrl,
isSupportAV: true,
success: (success) => {
ZoomMtg.join({
signature: signature,
meetingNumber: meetingNumber,
userName: userName,
sdkKey: sdkKey,
passWord: passWord,
success: (success) => {
console.log('Join meeting success', success);
},
error: (error) => {
console.error('Error joining meeting', error);
},
});
},
error: (error) => {
console.error('Error initializing Zoom SDK', error);
}
});
}
@app.route('/api/zoom/jwt', methods=['POST'])
def generate_jwt():
client_id = os.getenv('ZOOM_SDK_KEY')
client_secret = os.getenv('ZOOM_SDK_SECRET')
data = request.get_json()
meeting_number = data['meetingNumber']
role = data['role'] # 0 for participant, 1 for host
# Define token expiration times
iat = int(time.time())
exp = iat + 7200 # Token valid for 2 hours
# Create JWT payload
payload = {
'sdkKey': client_id,
'mn': meeting_number,
'role': role,
'iat': iat,
'exp': exp,
'tokenExp': exp
}
signature = jwt.encode(payload, client_secret, algorithm='HS256')
return jsonify({'signature': signature if isinstance(signature, str) else signature.decode('utf-8')})
the code is working and generating jwt tokens