Controllers and services
Controllers
The extension registers backend routes for three controller
groups. All controllers use the JsonBodyTrait for parsing
JSON request bodies. Login routes use Routes.
(public access). Management and admin routes use
Ajax (AJAX, with Sudo Mode on write
operations). All paths below are relative to /typo3/.
ManagementController (AJAX)
Passkey lifecycle for the current user
(via Ajax). Write operations
require Sudo Mode re-authentication.
POST /ajax/passkeys/manage/registration/options*POST /ajax/passkeys/manage/registration/verify*GET /ajax/passkeys/manage/listPOST /ajax/passkeys/manage/rename*POST /ajax/passkeys/manage/remove*
AdminController (AJAX, admin)
Administrative operations for any user
(via Ajax). Write operations
require Sudo Mode re-authentication.
GET /ajax/passkeys/admin/listPOST /ajax/passkeys/admin/remove*POST /ajax/passkeys/admin/revoke-all*POST /ajax/passkeys/admin/unlock*POST /ajax/passkeys/admin/update-enforcement*POST /ajax/passkeys/admin/send-reminder*POST /ajax/passkeys/admin/clear-nudge*
Routes marked with * are protected by TYPO3's Sudo Mode.
When accessed without a recent password verification, they
return HTTP 422 with sudoModeInitialization data. The
JavaScript handles this transparently by showing a password
dialog and retrying the request.
Service classes
JavaScript modules
Passkey-- Login form passkey button and WebAuthn flowLogin. js Passkey-- User Settings passkey management panelManagement. js Passkey-- Encourage-stage onboarding bannerBanner. js Passkey-- Admin dashboard enforcement controlsDashboard. js Passkey-- Admin passkey info in user recordsAdmin Info. js