Download the PHP package netresearch/nr-passkeys-be without Composer

On this page you can find all versions of the php package netresearch/nr-passkeys-be. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nr-passkeys-be

Passkeys Backend Authentication

Passwordless TYPO3 backend login via WebAuthn/FIDO2 Passkeys.
One-click authentication with TouchID, FaceID, YubiKey, and Windows Hello.

CI codecov

OpenSSF Best Practices OpenSSF Scorecard

PHPStan Mutation PHP TYPO3 License Latest Release


Overview

nr_passkeys_be replaces traditional password authentication in the TYPO3 backend with modern passkeys. It registers as a TYPO3 authentication service at priority 80, intercepting login requests before the standard password service. When passkey data is present, it performs full WebAuthn assertion verification. Otherwise, it falls through to password login (unless disabled).

Extension key nr_passkeys_be
Package netresearch/nr-passkeys-be
TYPO3 12.4 LTS, 13.4 LTS, 14.x
PHP 8.2, 8.3, 8.4, 8.5
License GPL-2.0-or-later

Features

Supported Authenticators

Platform Authenticator
macOS / iOS TouchID, FaceID
Windows Windows Hello
Cross-platform YubiKey, other FIDO2 security keys

Installation

Activate the extension in the TYPO3 Extension Manager or via CLI:

Quick Start

After installation, follow these steps:

  1. Review extension settings — Go to Admin Tools > Settings > Extension Configuration > nr_passkeys_be and verify the Relying Party settings (rpId, rpName, origin). The defaults auto-detect from your domain, which works for most single-domain setups.

  2. Open the Passkey Management module — Navigate to Admin Tools > Passkey Management. The Dashboard shows adoption statistics and the Help tab provides a full rollout guide with recovery procedures and FAQ.

  3. Register your own passkey — Go to User Settings > Passkeys and register a passkey to verify the setup works on your device.

  4. Enable enforcement for a pilot group — On the Dashboard, set a small group (e.g., your admin team) to Encourage. Users will see a dismissible banner prompting them to set up a passkey.

  5. Roll out gradually — Progress through EncourageRequiredEnforced as adoption grows. See the Help tab in the backend module for the complete rollout guide.

Full documentation: docs.typo3.org/p/netresearch/nr-passkeys-be · Configuration reference

Passkeys & MFA

Passkeys are inherently multi-factor: they combine something you have (your device) with something you are (biometric) or something you know (device PIN). They are also phishing-resistant — the credential is cryptographically bound to the origin.

For most TYPO3 backends, passkeys alone are more secure than password + TOTP. The FIDO Alliance and W3C consider passkeys a stronger replacement for password + OTP. Adding TYPO3's MFA on top is optional defence-in-depth, not a requirement.

Consider keeping MFA enabled alongside passkeys only if:

See the Help tab in Admin Tools > Passkey Management for details on MFA coexistence and middleware processing order.

Configuration

Extension settings are available in Admin Tools > Settings > Extension Configuration > nr_passkeys_be:

Setting Default Description
rpId (auto-detect) Relying Party domain (e.g., example.com)
rpName TYPO3 Backend Display name shown during passkey registration
origin (auto-detect) Full origin URL (e.g., https://example.com)
challengeTtlSeconds 120 Challenge token lifetime in seconds
discoverableLoginEnabled true Allow username-less login via resident credentials
disablePasswordLogin false Block password login for users with registered passkeys
rateLimitMaxAttempts 10 Requests per IP per endpoint before rate limiting
rateLimitWindowSeconds 300 Rate limit window duration in seconds
lockoutThreshold 5 Failed login attempts (per IP) before account lockout
lockoutUserThreshold 15 Failed login attempts (per username, all IPs) before account lockout
lockoutDurationSeconds 900 Lockout duration in seconds (15 min)
userVerification required WebAuthn user verification requirement
allowedAlgorithms ES256 Comma-separated signing algorithms

See the Configuration documentation for detailed descriptions of each setting.

How It Works

The extension registers a TYPO3 authentication service at priority 80 (above SaltedPasswordService at 50). When passkey assertion data is present in the login request, it verifies the WebAuthn assertion. When no passkey data is present, it passes through to the next auth service (standard password login) unless password login is disabled.

API Endpoints

Login (public):

Self-Service (authenticated, AJAX routes):

Admin (admin-only, AJAX routes):

Enforcement (authenticated, AJAX route):

* Protected by TYPO3 Sudo Mode -- write operations require password re-verification (15 min grant lifetime).

Documentation

Development

Security

If you discover a security vulnerability, please report it responsibly. See SECURITY.md for details.

License

GPL-2.0-or-later. See LICENSE.


Developed and maintained by Netresearch DTT GmbH


All versions of nr-passkeys-be with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
typo3/cms-core Version ^12.4 || ^13.4 || ^14.3
typo3/cms-backend Version ^12.4 || ^13.4 || ^14.3
typo3/cms-setup Version ^12.4 || ^13.4 || ^14.3
web-auth/webauthn-lib Version ^5.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package netresearch/nr-passkeys-be contains the following files

Loading the files please wait ...