Join a zoom meeting with authentication require using Meeting SDK

Description
We want to use Meeting SDK to join a Zoom Meeting with authentication require (allow specified domains). We followed the instruction and we used a ZAK as a note in the instruction (Note: Meeting SDK sessions with authentication require a ZAK token to join meetings) but we got the system error message “Not support start meeting via tokens”. We just want to join the meeting, not start it. Do you have any solution.

Browser Console Error

{
    type: "JOIN_MEETING_FAILED",
    reason: "Not support start meeting via tokens",
    errorCode: 200
}

Which Web Meeting SDK version?
Knowing the version can help us to identify your issue faster. [e.g. 1.9.9]

Meeting SDK Code Snippets
@zoomus/websdk 2.15.0

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

  1. Get an Access token using Server-to-Server OAuth
  2. Get a ZAK token using Meeting API
  3. Join a meeting via Meeting SDK using ZAK token
client.join({
    signature: "",
    sdkKey:  "",
    meetingNumber: meetingNumber,
    password: passWord,
    userName: 'Bot',
    userEmail: '',
    tk: '',
    zak: ''
}).then(() => {
    console.log("Join Success");
}).catch(e => {
    console.log(e);
});

Troubleshooting Routes
The troubleshooting attempt types you’ve already exhausted, including testing with the appropriate sample app (found on Zoom · GitHub).

Device (please complete the following information):

  • Device: Macbook Air
  • OS: macOS 13.4.1
  • Browser: Firefox
  • Browser Version: 116.0.3 (64-bit)

@thanhdd

Note: Meeting SDK sessions with authentication require a ZAK token to join meetings.

Could you share how you are getting the ZAK token of the users?
Could you also share a sample of your JWT Token which is used to authenicate the SDK?

Could you share how you are getting the ZAK token of the users?

  • Step 1: Get an Access token using Server-to-Server OAuth
curl -X POST https://zoom.us/oauth/token -d 'grant_type=account_credentials' -d 'account_id={accountID}' -H 'Host: zoom.us' -H 'Authorization: Basic Base64Encoded(clientId:clientSecret)'
  • Step 2: Get a ZAK token using Meeting API
curl -X GET 'https://api.zoom.us/v2/users/me/token?type=zak' -H 'Authorization: Bearer <access_token from Step 1>'
  • Step 3: Join a meeting via Meeting SDK using ZAK token
client.join({
    signature: signature,
    sdkKey:  "",
    meetingNumber: meetingNumber,
    password: passWord,
    userName: 'Bot',
    userEmail: '',
    tk: '',
    zak: <token from Step 2>
}).then(() => {
    console.log("Join Success");
}).catch(e => {
    console.log(e);
});

Could you also share a sample of your JWT Token which is used to authenicate the SDK?

It is a sample JWT Token (signature)

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZGtLZXkiOiJZSGR6Y2ZiNFRkT2s0ZHNzaVhfSnNBIiwibW4iOiI4NDQ1NjE2MjMzMiIsInJvbGUiOjAsImlhdCI6MTY5MzQ1MDM2OSwiZXhwIjoxNjkzNDU3NTY5LCJhcHBLZXkiOiJZSGR6Y2ZiNFRkT2s0ZHNzaVhfSnNBIiwidG9rZW5FeHAiOjE2OTM0NTc1Njl9.OU2Nw84nLhm33TxNZIOAcomhgPr6R098xXL7yql43r4

@thanhdd ,

Could you try leaving the ZAK token blank for now?
You should be re-directed to this UI to sign in.

@thanhdd ,we will be supporting “meeting which requires authentication” using (Web SDK + ZAK) in the upcoming version update.

1 Like

@chunsiong.zoom thank you a lot for above information, I’m looking forward to that new version (the lastest version of @zoomus/websdk is 2.15.2)

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