When adding passkeys to your Flutter app, you’ll need to support several user flows:

Sign Up Flow

Create a new account using passkey authentication

Login Flow

Access your account using passkey authentication

Fallback Options

Alternative login methods when passkeys aren’t available

Passkey Creation

Set up a new passkey for your account

Managing these authentication flows requires handling various scenarios and user interactions. Corbado simplifies this process by providing:

Authentication Service

A service that handles the authentication logic for you

Developer Panel

Configure screen flows in Settings > User Interface

Custom UI

Full flexibility to build your own custom UI

Corbado Blocks

Each block (e.g., SignupInitBlock) defines the data and functionality available for a screen

To make implementation easy, we’ve organized the authentication flow into modular blocks. Each block represents a specific part of the authentication process and provides the necessary data and functionality to build your custom UI.

Next, we’ll walk you through each block and show how to implement them in your Flutter app.