Skip to main content
Passkey enrollment adds a passkey to an account that is already signed in to your app. Use it from account security, after login, or after registration.

How enrollment works

1

Authorize the current user

Your app provides a valid OwnID Access Token for the signed-in user.
2

Check availability

The SDK checks the current configuration, required input, and platform support before your app enables the enrollment action.
3

Create and enroll the passkey

The SDK presents the platform passkey UI and enrolls the new passkey. On success, it returns the enrolled user’s login ID so your app can refresh its account or security UI.
Enrollment adds a passkey to the current account. It does not sign the user in or create, refresh, or replace your app session.

Before you start

Start enrollment

Create the enrollment flow with the current user’s Access Token. Check availability before showing or enabling the enrollment action, then keep the returned controller until whenSettled() completes. Availability is a preflight check, not a completion guarantee. Platform UI, device state, tenant configuration, or backend token validation can still cancel or fail after start().

Handle the enrollment result

Keep one controller per enrollment attempt. Start another attempt only after the current controller settles, and end the active controller if its owning screen or lifecycle is destroyed.
Treat OwnID Access Tokens and full enrollment results as sensitive. Never log them.

Continue with the full guides

Android enrollment guide

Context options, availability, controller ownership, failures, and security details.

iOS enrollment guide

Context options, availability, controller ownership, failures, and security details.