Creates an instance of MfaVoiceChallenge.
Optional on the interface so existing implementors of BaseMembers (e.g. test mocks)
keep compiling. Always populated at runtime by the BaseContext constructor.
Screen-specific properties and data.
StaticscreenScreen identifier for validation and telemetry
Utility FeatureChanges the language/locale for the current authentication flow.
This method triggers a language change by submitting the new locale preference to the server with the 'change-language' action. The language change will cause the current screen to re-render with the new locale.
Language change options including the target language code
Options for changing the language/locale during the authentication flow
Additional custom fields to be submitted along with the language change. Custom fields should be prefixed with 'ulp-'.
Short language name (locale code) to be set (e.g., 'en', 'fr', 'es').
Optionalpersist?: "session"Defines persistence scope for the language preference. Currently only 'session' is supported.
A promise that resolves when the form submission is complete
import LoginId from "@auth0/auth0-acul-js/login-id";
const loginManager = new LoginId();
// Change language to French
await loginManager.changeLanguage({
language: 'fr',
persist: 'session'
});
import LoginPassword from "@auth0/auth0-acul-js/login-password";
const loginPasswordManager = new LoginPassword();
// Change language to Spanish with additional custom data
await loginPasswordManager.changeLanguage({
language: 'es',
persist: 'session',
'ulp-custom-field': 'custom-value'
});
Submits the voice verification code to validate the MFA challenge.
Object containing the verification code and optional parameters
Promise that resolves when the code is successfully validated
Navigates to the screen for selecting a different phone number.
Optionalpayload: Screens.CustomOptionsOptional custom parameters
Promise that resolves when navigation is complete
Requests a new voice call with a verification code.
Optionalpayload: Screens.CustomOptionsOptional custom parameters to send with the request.
A promise that resolves once the form is submitted, before the page reloads. It doesn't confirm that a new code was sent.
Submits a form POST with action: "resend-code". Auth0 responds by rendering this
screen again, so the browser reloads the page and the current JavaScript context,
including component state and timers, is lost.
Code after await resendCode() may still run, but anything it sets up, such as a
"code sent" message or a countdown, is gone after the reload. Server-side errors,
such as rate limits, appear in transaction.errors on the reloaded page.
They don't reject the returned promise.
To add a cooldown between resends, use resendManager(). It stores its countdown
in localStorage, so the countdown survives the reload.
Utility FeatureGets resend functionality with timeout management for this screen
Optionaloptions: Screens.StartResendOptionsConfiguration options for resend functionality
Options for configuring resend functionality
OptionalonStatusChange?: Screens.OnStatusChangeCallbackOptionalonTimeout?: () => voidOptionaltimeoutSeconds?: numberResendControl object with startResend method
import MfaVoiceChallenge from '@auth0/auth0-acul-js/mfa-voice-challenge';
const mfaVoiceChallenge = new MfaVoiceChallenge();
const { startResend } = mfaVoiceChallenge.resendManager({
timeoutSeconds: 15,
onStatusChange: (remainingSeconds, isDisabled) => {
console.log(`Resend available in ${remainingSeconds}s, disabled: ${isDisabled}`);
},
onTimeout: () => {
console.log('Resend is now available');
}
});
// Call startResend when user clicks resend button
startResend();
Switches to SMS verification method instead of voice call.
Optionalpayload: Screens.CustomOptionsOptional custom parameters
Promise that resolves when switching is complete
Navigates to the screen for selecting an alternative MFA method.
Optionalpayload: Screens.CustomOptionsOptional custom parameters
Promise that resolves when navigation is complete
MFA Voice Challenge screen implementation.
This screen is displayed when a user needs to verify their identity using a voice call as part of a multi-factor authentication flow.