Quick Start
This guide gets you from installation to your first passkey login in five minutes.
Prerequisites
- TYPO3 13.4 LTS or 14.1+ with HTTPS
- Composer-based installation
Step 1: Install
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
Copied!
Step 2: Include TypoScript
In your site's root TypoScript record, add:
@import 'EXT:nr_passkeys_fe/Configuration/TypoScript/setup.typoscript'
@import 'EXT:nr_passkeys_fe/Configuration/TypoScript/constants.typoscript'
Copied!
Then set the page UIDs for your login and management pages:
plugin.tx_nrpasskeysfe.settings.loginPageUid = 42
plugin.tx_nrpasskeysfe.settings.managementPageUid = 43
plugin.tx_nrpasskeysfe.settings.enrollmentPageUid = 44
Copied!
Step 3: Add plugins to pages
Create three pages in your TYPO3 page tree:
- Login page (e.g. UID 42): Add the content element Plugin > Passkeys Frontend Authentication > Login. This is your passkey login page.
- Management page (e.g. UID 43): Add Plugin > Passkeys Frontend Authentication > Management. Restrict access to logged-in frontend users only.
- 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
Add the following to your site's config.:
settings:
nr_passkeys_fe:
rpId: 'your-domain.example'
origin: 'https://your-domain.example'
enforcementLevel: 'encourage'
enrollmentPageUrl: '/passkey-setup'
Copied!
Replace your-domain.example with your actual domain.
Step 5: Log in with a passkey
- Visit your login page (e.g.
/login). - Click Sign in with a passkey.
- If you have no passkey yet, you will be prompted to create one.
- Follow the browser's passkey creation dialog (TouchID, Windows Hello, security key, etc.).
- 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
- Configuration -- Configure enforcement levels and rate limiting
- Enrollment -- How users set up passkeys
- Administration -- Manage passkeys from the backend module
- Multi-Site -- Configure multiple sites with different RP IDs