The mfa-webauthn-platform-challenge screen prompts the user to complete an MFA challenge using a platform authenticator, such as Touch ID or Windows Hello, built into their device.
Import
Each screen has its own set of hooks and methods. The SDK supports partial import and root import for each screen.
Using partial import allows you include only the code you need for your specific use case.
Using root import allows you to load all screens from a single bundle useful when you want a unified build to handle all possible screens.
// root import
import { useMfaWebAuthnPlatformChallenge } from '@auth0/auth0-acul-react' ;
// partial import
import {
useMfaWebAuthnPlatformChallenge ,
// Context hooks
useUser ,
useTenant ,
useBranding ,
useClient ,
useOrganization ,
usePrompt ,
useScreen ,
useTransaction ,
useUntrustedData ,
// Common hooks
useCurrentScreen ,
useAuth0Themes ,
useErrors ,
// Utility hooks
useChangeLanguage ,
// Methods
reportBrowserError ,
tryAnotherMethod ,
verify ,
} from "@auth0/auth0-acul-react/mfa-webauthn-platform-challenge" ;
function MfaWebAuthnPlatformChallengeScreen () {
const { verify } = useMfaWebAuthnPlatformChallenge ();
return (
< button onClick = { () => verify ({ rememberDevice: true }) } >
Verify with Platform Authenticator
</ button >
);
}
Context Hooks
Screen-scoped hooks that provide read-only access to Auth0 context data on the mfa-webauthn-platform-challenge screen. Import them from @auth0/auth0-acul-react/mfa-webauthn-platform-challenge.
This hook provides branding configurations, such as logo, colors, and theme settings displayed on the mfa-webauthn-platform-challenge screen. import { useBranding } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function CustomTheme () {
const branding = useBranding ();
}
This hook provides client-related configurations, such as id, name, and logoUrl, for the mfa-webauthn-platform-challenge screen. import { useClient } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function AppInfo () {
const client = useClient ();
}
This hook provides information about the user’s Organization if the MFA flow is Organization scoped. Returns null when no Organization context is present. import { useOrganization } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function OrgSelector () {
const organization = useOrganization ();
if ( ! organization ) {
return < p > No organization context </ p > ;
}
}
This hook contains data about the current prompt in the authentication flow. import { usePrompt } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function FlowInfo () {
const prompt = usePrompt ();
}
This hook contains details specific to the mfa-webauthn-platform-challenge screen, including its configuration and context. import { useScreen } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function ScreenDebug () {
const screen = useScreen ();
}
This hook contains data related to the tenant, such as id and associated metadata. import { useTenant } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function TenantInfo () {
const tenant = useTenant ();
}
This hook provides transaction-specific data for the mfa-webauthn-platform-challenge screen, such as the current MFA flow state. import { useTransaction } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function TransactionInfo () {
const transaction = useTransaction ();
}
This hook handles untrusted data passed to the screen, such as prefilled values from URL parameters. import { useUntrustedData } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function PrefilledForm () {
const untrustedData = useUntrustedData ();
}
This hook provides details of the active user, including username, email, and available authentication methods. import { useUser } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function UserProfile () {
const user = useUser ();
}
useMfaWebAuthnPlatformChallenge
This hook returns all methods and context available on the mfa-webauthn-platform-challenge screen.
Methods
This method reports a browser-level WebAuthn error encountered during the platform authenticator challenge. import { useMfaWebAuthnPlatformChallenge } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function HandleWebAuthnError ({ error }) {
const { reportBrowserError } = useMfaWebAuthnPlatformChallenge ();
return (
< button onClick = { () => reportBrowserError ({ error }) } >
Report Error
</ button >
);
}
The error object from the WebAuthn API (navigator.credentials.get()) to be reported. The name of the error (e.g., 'NotAllowedError').
[`key`: `string`]
"string" | "number" | "boolean" | "undefined"
Any additional error properties.
This method navigates to the MFA method selection screen so the user can choose a different authentication factor. import { useMfaWebAuthnPlatformChallenge } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function TryAnotherMethodButton () {
const { tryAnotherMethod } = useMfaWebAuthnPlatformChallenge ();
return (
< button onClick = { () => tryAnotherMethod () } >
Try Another Method
</ button >
);
}
[`key`: `string`]
"string" | "number" | "boolean" | "undefined"
Any additional custom options.
This method initiates the platform authenticator verification to complete the MFA challenge. import { useMfaWebAuthnPlatformChallenge } from '@auth0/auth0-acul-react/mfa-webauthn-platform-challenge' ;
function VerifyButton () {
const { verify } = useMfaWebAuthnPlatformChallenge ();
return (
< button onClick = { () => verify ({ rememberDevice: true }) } >
Verify with Platform Authenticator
</ button >
);
}
Optional. If true, attempts to remember the browser for future MFA challenges.
Corresponds to the rememberBrowser form field. This is only applicable if screen.showRememberDevice is true.
[`key`: `string`]
"string" | "number" | "boolean" | "undefined"
Any additional custom options.
Common/Utility Hooks
This hook gets the current theme options with flattened configuration from branding context.
This hook returns a function for changing the display language on the current ACUL screen.
This hook gets the current screen context and state.
This hook reads and manages server, client, and developer errors on the screen.