Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-staging.auth0-mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The Universal Components for iOS SDK includes the MyAccountAuthMethodsView component, a SwiftUI view that handles every enrollment, verification, listing, and removal flow using the My Account API. It uses the My Account API’s authentication methods management capabilities to render a complete UI for managing a user’s authentication methods. With the MyAccountAuthMethodsView component, you do not need to orchestrate navigation, call endpoints, or manage state.
MyAccountAuthMethodsView component showing sign-in methods and verification methods

Setup requirements

Before rendering the MyAccountAuthMethodsView component, follow Build a Self-Service Account Security Interface to install the SDK, configure your Auth0 tenant, and initialize the SDK with a token provider.
The MyAccountAuthMethodsView component reads its configuration, token provider, and passkey settings from the initialized SDK.

Supported factors

The component handles every authentication method factor configured with the My Account API. Each factor’s screen inherits the component’s active theme. To learn more, read Customize Style and Themes.
FactorWhat the component rendersSDK notes
Email OTPEmail input → 6-digit OTP verificationPlatform OTP autofill (iOS QuickType) populates the OTP field automatically.
SMS OTPCountry-code picker + phone entry → 6-digit OTP verificationAutofill via the system keyboard works normally.
TOTP (Authenticator application)QR code with manual-entry key → 6-digit OTP verificationRenders the standard otpauth:// payload. No custom brand logo injection into the QR.
Push notificationsQR code for Auth0 Guardian scan → “waiting for approval” stateEnd users need the public Auth0 Guardian application. Enterprise customers with a branded Guardian SDK build must surface their own install link outside the component.
PasskeysEducational screen → OS biometric prompt → enrolled entry in the listRequires Apple Associated Domains (iOS 16.6+). See the dedicated page for platform setup.
Recovery codesDisplay-once code list with a copy action and an “I’ve saved my codes” confirmationCodes are displayed to the user and never returned to the caller. The copy-to-clipboard action uses the platform’s standard clipboard API.

Get started

Add the MyAccountAuthMethodsView component anywhere in your SwiftUI hierarchy, typically behind a settings navigation link.
SettingsView.swift
import SwiftUI
import Auth0UniversalComponents

struct SettingsView: View {
    var body: some View {
        NavigationStack {
            List {
                NavigationLink(destination: MyAccountAuthMethodsView()) {
                    Label("Authentication Methods", systemImage: "lock.shield")
                }
            }
            .navigationTitle("Account Settings")
        }
    }
}
The Swift view takes no initializer parameters. To customize behavior use SwiftUI view modifiers and environment values.

Parameters

The MyAccountAuthMethodsView component accepts the following modifier and environment values:
Modifier / environment valuesTypePurpose
.auth0Theme(_:)Auth0ThemeOverride design tokens—colors, typography, spacing, radius, sizes. To learn more, read Customize Style and Themes.
.embeddedInNavigationStack()Mark the view as embedded in a host NavigationStack so the SDK pushes onto your stack instead of creating its own.
\.hostNavigationPathBinding<NavigationPath>Environment binding the SDK uses to push destinations onto the host navigation stack. Required when you call .embeddedInNavigationStack().

Customize

Theming is applied to the component as a whole; individual factor screens inherit the active theme. To learn more about the full token catalog and dark-mode patterns, read Customize Style and Themes.

Embed in a host NavigationStack

By default, the MyAccountAuthMethodsView component manages its own NavigationStack.
If your application already owns a navigation stack, nesting a second stack breaks back-button behavior and swipe-to-go-back gestures. Embed the MyAccountAuthMethodsView component into your stack instead.
NavigationStack(path: $path) {
    List {
        NavigationLink("Authentication methods", value: "auth-methods")
    }
    .navigationDestination(for: String.self) { value in
        if value == "auth-methods" {
            MyAccountAuthMethodsView()
                .embeddedInNavigationStack()
        }
    }
}
.environment(\.hostNavigationPath, $path)
There are two requirements when using embedded mode:
  • Add the .embeddedInNavigationStack() modifier to the MyAccountAuthMethodsView component so it skips creating an inner stack.
  • Add the \.hostNavigationPath modifier to the outer NavigationStack so the SDK knows which path binding to push onto.
The SDK also exposes a Router helper class for applications that want a type-safe navigation controller for their own routes.It is not required to drive the SDK’s internal navigation. Only use it if you want to apply the same pattern to your application’s screens.

Localization

Universal Components for iOS do not ship localized strings. User-facing copy is in English. If localization is a blocker for your integration, please submit a feature request in the ui-components-ios repository.

Limitations

  • No standalone factor components on iOS. Every factor renders inside the Authentication Methods Management component. There is no public API to enroll, verify, or remove a single factor from a different part of your application.
  • No standalone list/remove components. The SDK does not ship public components for listing enrolled factors or removing them outside the component. Use the Authentication Methods Management component for the full management experience.

Learn more

Build a Self-Service Account Security Interface

Initialize the SDK and wire the token provider to your Auth0 tenant.

Customize style and themes

Override colors, typography, spacing, radius, and size tokens using the Auth0 design-token system.