A Vivox SDK call failed with error 20123 "Access Token Claims Mismatch" when the Vivox Access Token's parameters do not match the request being authenticated. This occurs if tokens are used for incorrect users, channels, or actions, such as using a join token to sign in or a token for one channel on another. To resolve, generate and use tokens specifically for the intended user, channel, and action.
Symptoms:
A Vivox SDK call requiring a Vivox Access Token failed with status code 20123 "Access Token Claims Mismatch".
Implementations which don't use the Unity Authentication Service (UAS) for authorization require Vivox Access Tokens for calls such as signing in the user, joining a channel, enabling transcription, muting or unmuting participants for everyone, and kicking participants from a channel.
Cause:
A VxAccessTokenClaimsMismatch (20123) error occurs if the Vivox access token is valid, but the token's parameter details to not match the request the token is being used to authenticate.
The following list provides some examples of when this error might occur:
- A join channel VAT is being used to sign in.
- A login VAT is generated for user1, but is being used by user2.
- A login VAT is being used to join a channel.
- A join channel VAT is generated for channel1, but is being used to join channel2.
- A join channel VAT is generated for user1, but is being used by user2.
- A mute VAT is generated to mute user1, but is being used to mute user2.
- A mute VAT is generated to mute user1 in channel1, but is being used to mute user1 in channel2.
- A trxn VAT is generated to enable speech-to-text transcription in channel1, but is being used to enable transcription in channel2.
Resolution:
Ensure that your application generates access tokens for the correct user, channel, and action. Join tokens are used for joining channels, login tokens are used for signing in a user to voice, and so on. Tokens should be used to authenticate actions for the users, channels, and subjects that they were generated for.
More Information:
- Where can I find the Vivox Access Token (VAT) Developer Guide for my SDK?
- How to access SIP URIs for Vivox Access Token generation
- Vivox: Channel join consistently goes to "Disconnected" rather than "Connected"