Download the PHP package wpconsulting/passkey-bundle without Composer

On this page you can find all versions of the php package wpconsulting/passkey-bundle. 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 passkey-bundle

WP Consulting Passkey Bundle

Language: Français

CI Latest Stable Version

Symfony bundle for WebAuthn / passkeys using the device’s platform authenticator:

Platform Method
Mac Touch ID
iPhone / iPad Face ID (or Touch ID)
Samsung / Android Fingerprint (Credential Manager / Samsung Pass)
Windows Windows Hello

Unlocking the phone or Mac does not create a passkey for your site. Users must register a passkey from their logged-in account, on the same device and the same hostname (RP ID).


Requirements


Quick install

Then add the Twig partials (only remaining manual wiring):

Login

Account (manage passkeys)

What passkey:configure does

Flex (optional)

To also copy YAML via Symfony Flex:

Without a custom endpoint, Flex may show an auto-generated recipe — that is fine. The Composer plugin then prints the post-install message (passkey:configure + details). Allow it if Composer asks:


Configuration

Option Purpose
user_class User entity (must implement PasskeyUserInterface)
user_identifier_field Field used at WebAuthn login (email, username, …)
rp_name Name shown in the passkey dialog
login_authenticator Security authenticator passed to Security::login()
default_redirect_route Redirect after biometric login
success_handler Optional post-login handler
email_input_selector CSS selectors for the identifier field on the login form

Until user_class is a valid class implementing PasskeyUserInterface, business services are not wired: cache:clear / asset-map:compile still work. The passkey:configure command is always available.

User

Security / firewalls

passkey:configure adds:

If you have a separate admin firewall, share the session context:

Otherwise the session created on /webauthn/* is invisible to admin → 401/403.

Database

Check:


Twig

Login — _login_button.html.twig

Options: email_input, redirect_url, button_class, show_hint, show_divider, i18n messages…

Account — _manage.html.twig

Options: add_button_class, wrapper_class, i18n labels…

Helpers

Helper Description
passkey_credentials(user) List of passkeys
passkey_manager PasskeyManager service
passkey_redirect_path Post-login redirect URL
passkey_email_input_selector Email CSS selectors
passkey_translation_domain Translation domain

CTA translations: PasskeyBundle (fr, en, es, de).

CSS

Bundled styles (assets/styles/passkey.css), loaded via Stimulus autoimport.


How it works

  1. Classic login (email / password).
  2. On the account page, Add Touch ID / Face ID / fingerprint.
  3. System dialog → public key stored in the DB (web_authn_credential).
  4. On /login, the biometric button calls navigator.credentials.get and authenticates the user.
Device unlock Site passkey
Role Opens the screen / Mac Signs in to the app account
Where System settings Account page on the site
Tied to The device Account + hostname (RP ID)

A passkey created on localhost does not work on xxx.ngrok-free.app or production (different RP ID): re-register on each hostname.


Platforms

Mac (Touch ID)

iPhone / iPad (Face ID)

Samsung / Android (fingerprint)

Windows Hello

Device UI label Passkey method
Mac Touch ID Mac fingerprint
iPhone / iPad Face ID Face / Touch ID
Samsung Samsung Fingerprint Fingerprint
Android Fingerprint Fingerprint
Windows Windows Hello Hello

Local dev & ngrok

Web-only passkeys do not require a Google Cloud / OAuth project. Google OAuth or Digital Asset Links only apply to Google Sign-In / native apps linked to the site.


Commands

Command Purpose
passkey:configure Full host-app wiring
passkey:install Creates only the web_authn_credential table

Migration from touch-id-bundle

Previous package: wpconsulting/touch-id-bundle (abandoned).

Update Twig includes (@Passkey/passkey/…) and the PasskeyUserInterface interface.

Details: CHANGELOG.md.


Security & contributing


License

MIT © WP Consulting


All versions of passkey-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
doctrine/doctrine-bundle Version ^2.11|^3.0
doctrine/orm Version ^2.17|^3.0
lbuchs/webauthn Version ^2.2
symfony/console Version ^6.4|^7.0
symfony/framework-bundle Version ^6.4|^7.0
symfony/routing Version ^6.4|^7.0
symfony/security-bundle Version ^6.4|^7.0
symfony/stimulus-bundle Version ^2.9
symfony/translation-contracts Version ^3.0
symfony/twig-bundle Version ^6.4|^7.0
twig/twig Version ^3.8
composer-plugin-api Version ^2.0
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 wpconsulting/passkey-bundle contains the following files

Loading the files please wait ...