We want to enable users to register passkeys with user verification, initially just for use as a second factor, but later for passwordless login as well. We'll need the following initial backend changes to enable the rest of the work:
- A feature flag to enable/disable this new passkeys feature
- Add a field to WebAuthnKey that flags whether the key was created as a passkey that supports passwordless login, and make sure this field is persisted in the database (by adding it to jsonSerialize())
- Add a supportsPasswordlessLogin() method to AuthKey, and make it return true for WebAuthnKeys that have the passwordless flag