---
title: "Quick Start"
manual: "Passkeys Frontend Authentication"
version: "2.0"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:quick-start@2.0"
source: "QuickStart/Index.rst"
rendered: "2026-09-29T22:18:36+00:00"
---

# Quick Start {#quick-start}

This guide gets you from installation to your first passkey login in
five minutes.

## DDEV demo (fastest option) {#ddev-demo-fastest-option}

If you have DDEV installed, get a fully working demo in one command:

```bash
make up
```

This starts DDEV, installs TYPO3 v13 and v14, creates demo pages with
all plugins preconfigured, and renders documentation. Visit
`https://nr-passkeys-fe.ddev.site/` when complete.

## Manual setup {#manual-setup}

### Prerequisites {#prerequisites}

-   TYPO3 13.4 LTS or 14.3 LTS with HTTPS
-   Composer-based installation

## Step 1: Install {#step-1-install}

```bash
composer require netresearch/nr-passkeys-fe
vendor/bin/typo3 extension:activate nr_passkeys_be
vendor/bin/typo3 extension:activate nr_passkeys_fe
vendor/bin/typo3 database:updateschema
```

## Step 2: Include TypoScript {#step-2-include-typoscript}

In your site's root TypoScript record, add:

```typoscript
@import 'EXT:nr_passkeys_fe/Configuration/TypoScript/setup.typoscript'
@import 'EXT:nr_passkeys_fe/Configuration/TypoScript/constants.typoscript'
```

## Step 3: Add plugins to pages {#step-3-add-plugins-to-pages}

Create three pages in your TYPO3 page tree:

1.  **Login page** (e.g. UID 42): Add the content element
    **Plugin > Passkeys Frontend Authentication > Login**.
    This is your passkey login page.
1.  **Management page** (e.g. UID 43): Add
    **Plugin > Passkeys Frontend Authentication > Management**.
    Restrict access to logged-in frontend users only.
1.  **Enrollment page** (e.g. UID 44): Add
    **Plugin > Passkeys Frontend Authentication > Enrollment**.
    Used for the post-login interstitial. Can be the same as the
    management page.

## Step 4: Configure the site {#step-4-configure-the-site}

Add the following to your site's `config.yaml`:

```yaml
settings:
  nr_passkeys_fe:
    rpId: 'your-domain.example'
    origin: 'https://your-domain.example'
    enforcementLevel: 'encourage'
    enrollmentPageUrl: '/passkey-setup'
```

Replace `your-domain.example` with your actual domain.

## Step 5: Log in with a passkey {#step-5-log-in-with-a-passkey}

1.  Visit your login page (e.g. `/login`).
1.  Click **Sign in with a passkey**.
1.  If you have no passkey yet, you will be prompted to create one.
1.  Follow the browser's passkey creation dialog (TouchID, Windows
    Hello, security key, etc.).
1.  After enrollment, click **Sign in with a passkey** again.
    The browser will present your passkey. Authenticate with the
    biometric prompt.

> [!TIP]
> For discoverable (usernameless) login, passkey-capable browsers
> will offer to autofill your passkey directly in the username field.
> Enable Conditional UI in your browser settings for the best
> experience.

## Next steps {#next-steps}

-   [Configuration](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:configuration@2.0) -- Configure enforcement levels and rate
    limiting
-   [Enrollment](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:usage-enrollment@2.0) -- How users set up passkeys
-   [Administration](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:administration@2.0) -- Manage passkeys from the backend module
-   [Multi-Site](https://docs.typo3.org/permalink/netresearch/nr-passkeys-fe:multi-site@2.0) -- Configure multiple sites with different RP IDs
