> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corbado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose a Connect Passkey Login Approach

> Compare identifier-first and passkey-button login, including One-Tap, fallback and account-enumeration considerations.

# Approaches

Choose how passkeys fit your existing login page: an identifier-first flow or a separate passkey button. Both need a working fallback and an enrollment path for authenticated users.

## Why the Approach Matters

### User Experience

The choice determines when a user encounters a passkey prompt and what happens if no usable credential is available. Test returning users, new devices and account switching alongside the first successful login.

### Security & Account Enumeration

Review the information shown before authentication, including unknown-account messages and remembered identifiers. A passkey button can begin without an identifier, but neither approach makes the rest of your login automatically safe from account enumeration.

### Adoption Goals

Measure the share of logins completed with passkeys separately from the number of users who enrolled. The login pattern, enrollment prompts, device mix and login frequency all influence usage.

#### How Corbado Connect Helps

* **Passkey Intelligence:** Uses available environment and history signals to decide whether to offer a passkey path.
* **One-Tap Login:** Uses remembered context to offer a returning user's passkey without asking them to type their identifier again.
* **Fallback callbacks:** Return control to your application when the passkey path cannot continue.

## Overview of Approaches & Corbado Connect Solutions

| Approach                               | User journey                                                                                                         | Integration decisions                                                                                          |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Automatic Login (Identifier-First)** | The user supplies an identifier. The configured flow attempts passkey login or continues to existing authentication. | Map the identifier to the account, coordinate prompts and handle fallback without making the user start again. |
| **Separate Passkey Button**            | The user explicitly starts a passkey ceremony without first entering an identifier.                                  | Choose button placement and handle cancellation, unavailable credentials and account selection.                |
| **One-Tap for returning users**        | Remembered context lets the page show a passkey action for a known identifier.                                       | Include account switching and review what remembered information is shown on shared devices.                   |

Browser passkey autofill (Conditional UI) can complement your form where supported. It is a platform interaction, not a substitute for handling fallback or verifying the result on your backend.

## Choosing the Best Approach for Your Organization

Use identifier-first when it fits your existing journey and you can route the next step after the identifier is entered. Use a separate button when you want an explicit passkey entry point alongside an existing form. Add One-Tap where remembered context is available and suitable for your users.

Agree on the intended flow and configuration with Corbado. The [web component reference](/corbado-connect/web-ui-components/corbadoconnectlogin) describes callbacks; the [native guide](/corbado-connect/integration/generic/native-mobile) describes the SDK states your app handles.

## Next Steps

Record your choices in the [integration plan](/corbado-connect/overview/planning), integrate [backend verification](/corbado-connect/integration/generic/backend) and [test the complete journey](/corbado-connect/integration/verify).
