By Yanuar
Enable secure, passwordless sign-in for existing Strapi administrators using local passkeys.
released October 7, 2026
npm install strapi-plugin-admin-passkeys
Sign in to an existing Strapi administrator account with a passkey, alongside password login.
/admin/settings/passkeys using Strapi’s native design system.Need complete SSO? Use Strapi’s premium Single Sign-On. This plugin provides local passkey authentication, not identity-provider integration or account provisioning. Passkey enrollment and login are disabled when Strapi’s SSO feature is enabled.
Requires Strapi 5.56.0, Node.js 22+, and HTTPS in production. HTTP on localhost is supported for development.
Build this checkout, then add it to your Strapi project:
bun install
bun run build
# Run from your Strapi project:
bun add /absolute/path/to/strapi-plugin-admin-passkeysEnable it in config/plugins.ts:
export default () => ({
passkeys: {
enabled: true,
config: {
rpName: 'My Strapi Admin',
rpID: 'cms.example.com',
origin: 'https://cms.example.com', // No path or trailing slash.
},
},
});Strapi has no public login-button injection zone. Apply the explicit, idempotent patch from your Strapi project, then rebuild:
bun node_modules/strapi-plugin-admin-passkeys/scripts/patch-admin.mjs
bun run buildThe patch only supports @strapi/admin 5.56.0 and must be reapplied after reinstalling dependencies. Password login stays unchanged. Sign in normally, open Settings → Passkeys, and confirm your current password to enroll.
bun run check # Types, unit tests, minified ESM/CJS build.
bunx playwright install chromium
bun run test:integration # Real Strapi + WebAuthn virtual authenticator.
bun run build:fixture
bun run test:ui # Native admin registration, login, rename, delete.Provider detection is best-effort, not proof of a provider’s identity. Keep password recovery available. Registration IP may appear in fallback names; consider your privacy policy. Rate limits are per process, so multi-instance deployments also need gateway-level limits. Tested with SQLite and Chromium; verify real devices and your production database before rollout.
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
