Creates an instance of the LoginEmailVerification screen manager.
The constructor initializes the BaseContext, which involves parsing the
Optional on the interface so existing implementors of BaseMembers (e.g. test mocks)
keep compiling. Always populated at runtime by the BaseContext constructor.
Static ReadonlyscreenThe unique identifier for the Login Email Verification screen.
This static property is used by the SDK's BaseContext to ensure that the
class is instantiated in the correct screen context.
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 email verification code entered by the user to Auth0.
This method prepares and posts the form data, including the verification code
and the required action: "default", to the /u/login-email-verification endpoint.
An object containing the code (string)
entered by the user. May also contain
other custom parameters if needed.
A promise that resolves once the form submission is initiated.
Typically, a successful submission leads to a server-side redirect.
If the code is incorrect or an error occurs, the page will
re-render, and this.transaction.errors will be populated.
If the payload.code is missing or not a string. It can also
throw if FormHandler encounters an issue during submission (e.g. network error).
Auth0 validation errors (e.g. "invalid-code") are not thrown as JS errors
but are made available in this.transaction.errors post-operation.
const manager = new LoginEmailVerification();
// Assuming 'userInputCode' is a string obtained from a form input
manager.continueWithCode({ code: userInputCode })
.catch(err => {
// Handle unexpected submission errors
displayGlobalError("Could not submit your code. Please try again.");
});
// After the operation, check manager.transaction.errors for validation messages.
Requests Auth0 to send a new verification code to the user's email address. This is typically used when the user didn't receive the original code, or it has expired.
Optionalpayload: Screens.ResendCodeOptionsPayloadOptional 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 (too-many-email), 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 LoginEmailVerification from '@auth0/auth0-acul-js/login-email-verification';
const loginEmailVerification = new LoginEmailVerification();
const { startResend } = loginEmailVerification.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();
LoginEmailVerification classdesc Manages interactions for the "login-email-verification" screen. This screen prompts the user to enter a one-time code sent to their email address to verify their identity during the login process.
It provides methods to submit the entered code (
continueWithCode) or to request a new code if the original one was not received or has expired (resendCode).Inherits from
BaseContextto access shared authentication flow data like transaction state, client information, and internationalization texts.Example