Skip to main content
Passkeys MFA is still in close beta. Please contact us to request access to enable this feature for your app.

Introduction

This guide will show you how to add a passkey for MFA to your app using your own custom UI. You can also refer to the general MFA guide here to learn more about this feature (note that this guide is for account level MFA, rather than transaction level MFA).

General Flow

When user already has a passkey registered

  1. User logs in
  2. User is redirected to the MFA view
  3. User adds a passkey
  4. User is redirected to the recovery codes view
  5. User acknowledges the recovery codes
The user must acknowledge the recovery codes before the MFA setup flow is complete.

When user does not have a passkey registered

  1. User logs in
  2. User is redirected to the MFA view
  3. User selects existing passkey to authenticate
User does not need to acknowledge the recovery codes again in this flow.

Implementation 1: using our useSyncMfaFlow hook

We provide a hook that will use a provided handler to automatically trigger the MFA flow when required.

Implementation 2: you decide when to trigger each step of the MFA flow

If you set MFA as required for your environment, the user won’t be considered fully authenticated until they have completed the entire MFA flow.