For optional use before join(). Does a pre-authentication with the server. Returns a Promise that resolves with the user's current access state.

Pre-authenticating unlocks some pre-join() info that would only otherwise be available post-join(), such as:

preAuth() takes the same call properties argument as the factory methods or join(). At a minimum, the following must be provided:

  • url (the Daily room URL)
  • token, if a token will be used for the meeting

url and token are "locked in" upon invoking preAuth(), and cannot be changed on join() (any attempt to do so will result in an error).

If the call machine bundle isn't already loaded, it will be loaded.

Pre-authenticating will give access to the local participant through a "participant-updated" event. To start the local participant's camera in the pre-authenticating stage (before joining the call), use with startCamera().