Conditional UI Flow (Usernameless Login)
Conditional UI lets the user select a passkey from the username or email field without entering the identifier first. That one selection completes both parts of login: the credential ID tells the server which account and user pool to use, and the verified assertion authenticates the user.Implementation prerequisite: Conditional UI is not automatic: your page must call
navigator.credentials.get({ mediation: 'conditional' }) and mark the input with autocomplete="username webauthn". Without both, nothing is offered. It is available in all modern web browsers. Use isConditionalMediationAvailable() because browser support does not guarantee that every operating system and credential-provider combination can offer a passkey.- macOS
- Windows
- iOS
- Android
1
Make Conditional UI available
- The page starts the conditional request before the field can be used and focuses the annotated username or email field where the platform supports it.
- When the field is focused, the browser or operating system can show eligible discoverable passkeys from the active credential providers.
- The presentation varies by platform: keyboard suggestion, system sheet or overlay on mobile, or a desktop dropdown. Conditional mediation remains non-blocking to the page.
- At this point, the relying party does not know which account is signing in.
2
Select and authorize a passkey
- The user selects a passkey from the available options.
- User verifies their identity using their screen lock (e.g., fingerprint, PIN, or face recognition).
- The browser returns the credential ID and signed assertion to the application.
3
Resolve the account and validate login
- The server uses the credential ID to find the account and correct user pool, then verifies the assertion.
- It applies the same account-status and login-policy checks used by every other login route.
- A wrong user pool, stale credential or blocked account receives its specific message and next action instead of a session.
4
Complete login
- Only a valid assertion for an account that may sign in creates a session.
- If One-Tap is enabled, this successful passkey login makes One-Tap eligible for the account in the current browser profile.
Acceptance criteria
Conditional UI combines account discovery and authentication. The selected discoverable credential identifies the account, and its assertion proves the login. The user does not submit an identifier first. Conditional UI still needs a normal login and fallback route beside it.
W1.2-AC05 applies when the page supports multiple user pools or sign-in areas. W1.2-AC08 applies where the WebAuthn Signal API is supported. W1.2-AC09 applies when One-Tap is enabled.
References
- Relevant criteria:
W1.2-AC01–W1.2-AC08. Web Authentication: An API for accessing Public Key Credentials: Level 3 defines conditional capability detection, discoverable credentials, thewebauthnautocomplete token, request cancellation, server-side assertion verification andsignalUnknownCredential. - Relevant criteria:
W1.2-AC02–W1.2-AC04. Credential Management Level 1 defines conditional mediation as non-modal and user-mediated and explains why an ignored or unavailable suggestion does not resolve the request. - Relevant criteria:
W1.2-AC01–W1.2-AC04,W1.2-AC07. Passwordless sign-in on forms with WebAuthn passkey autofill documents capability-aware form integration, focus behavior and coexistence with the conventional login form. - Relevant criteria:
W1.2-AC03–W1.2-AC09. WebAuthn Conditional UI technical explanation provides implementation experience for request coordination, account resolution, cancellation, stale credentials and later login behavior; it is practical guidance rather than the normative source. - Relevant criteria:
W1.2-AC08. Chrome for Developers: Keep passkeys consistent with credentials on your server documents the confirmed unknown-credential trigger and best-effort signal behavior. - Relevant criteria:
W1.2-AC09. One-Tap Login: Seamless Passkey Authentication documents the returning-user state that makes One-Tap available after successful passkey use.