Totally Zenned
- Join Date:
- May 2008
- Location:
- United States
- Posts:
- 522
- Plugin Contributions:
- 2
PasskeyLogin - support thread
Passkey Login (WebAuthn) — passwordless sign in for Zen Cart
First WebAuthn / FIDO2 passkey implementation for Zen Cart. Customers sign in with Face ID, a fingerprint, Windows Hello, or a hardware security key instead of typing a password. Saved passkeys appear inside the browser's own autofill on the login page (conditional UI) — no new buttons, and no change for customers who don't use them. Passkeys are added alongside password login, not instead of it.
Download: https://github.com/CcMarc/PasskeyLogin/releases/latest
Plugin library: submitted to the Zen Cart plugin library - pending approval.
Docs: README · CHANGELOG · SECURITY
Highlights
- No core edits, no template edits — encapsulated plugin, installs via Plugin Manager
- Passkeys account page (add / rename / remove) plus a My Account tile and a one-time, dismissible enrollment invitation
- Smart default passkey names from the AAGUID registry ("Apple Passwords", "Google Password Manager", …)
- Sign in runs through core
Customer::login()— session, cart restore, and authorization behavior match password login exactly - Admin console under Extras: status, customer lookup with support removal, activity, debug log tail, maintenance sweep
- One Page Checkout aware (shared guest account can never hold a passkey); OPC not required
- Hardened ceremonies: database-backed single-use challenges, clone detection, per-IP rate caps, strict payload limits
- Data tables preserved on uninstall — customers keep their passkeys across reinstalls
Requirements: Zen Cart 2.1.0+ (developed and tested on 2.2.2), PHP 8.0+ with OpenSSL, HTTPS.
Status and testing
v1.0.0, developed and running live on my own 2.2.2 production store. My own traffic can't cover the full device matrix, so feedback and testing are very welcome — especially:
- Android / Google Password Manager sign-ins
- Windows Hello and hardware security keys
- Password managers like Bitwarden or 1Password as the passkey provider
- Stores without One Page Checkout
- Zen Cart 2.1.x installs (every core API is verified present in the 2.1.0 source, but I've only run it live on 2.2.2)
Security reports: please use GitHub's private vulnerability reporting (see SECURITY.md) rather than posting publicly.
Questions and issues welcome in this thread.
marcopolo
Zen Cart 2.2.2 | PHP 8.5.12 | MariaDB 10.11.14