Setting Meeting Authentication for External User in Meeting Creation

Background

I am creating a platform with Zoom Web Meeting SDK, where external users may host and join a Zoom meeting within the website. These external users are not registered with the Create Users API and thus not under the account that host the Meeting SDK app.

Description

Prerequisite

I have set up the Meeting SDK app with OAuth enabled. To host or join a Meeting, zak, meetingNumber, and signature are required.

ZAK

I am able to obtain zak from the following process.

  1. Obtain authentication token with OAuth for external users.
  2. Obtain access token with authentication token.
  3. (Store refresh token in database.)
  4. Obtain zak with access token.

Meeting Number

Both the host and attendee need to log into their Zoom accounts that are invited on meeting creation to join the scheduled meeting in the website. The login details are passed to the Meeting SDK via the zak token above. What I have trouble with is to create a meeting using API, specifically with the meeting_authenticaion field.

To set an authentication option to “Signed in to account associated with invited email”, one would need to pass the authentication_options array’s id value in the Get user settings API response to authentication_option property. Below is the sample body to creating a meeting.

{
  schedule_for: host.email,
  settings: {
    meeting_authentication: true,
    authentication_option: 'AUTHENTICATION_OPTION_ID',
    meeting_invitees: [{ email: attendee.email }]
    private_meeting: true,
    [...]
  }
}

However, because the users are external and none of the users are registered under the Meeting SDK app account, it is not possible to set an account-wide authentication option for the users. The question is, do I have to call the Update users’ settings API and then Get user settings API every time a meeting is made? Or is there a better way in handling permission or authentication for all accounts?

Signature

As the meeting above are not produced with proper authentication, no meetingNumber can be supplied to create a JWT token.

API Endpoint(s)

(Refer to description above.)

Error / How to Reproduce

(Not applicable.)