Hi, thanks for creating this plugin!
We just tested your WebAuthn plugin and the Fido U2F migration process over to WebAuthn works well. However, do you think it would make sense to disable the core Two Factor's Fido U2F provider if your plugin is active?
I know that the core Two Factor plugin is looking at removing U2F in a future release: WordPress/two-factor#439, but at the moment, it is kind of jarring and confusing to see two Security Key sections when your WebAuthn provider works and basically replaces the core Fido U2F one.
If you decide to disable the Fido U2F provider in your plugin, this can be done where you're already registering your provider here:
|
public function two_factor_providers( array $providers ): array { |
|
$providers[ TwoFactor_Provider_WebAuthn::class ] = __DIR__ . '/class-twofactor-provider-webauthn.php'; |
|
return $providers; |
|
} |
Also, I noticed that it is possible to delete the U2F key for each user with the 'WEBAUTHN_DELETE_U2F_KEYS_ON_MIGRATION' constant after migration. This should be documented publicly in the readme (or in some other place like the wiki) so others are aware of it.
Hi, thanks for creating this plugin!
We just tested your WebAuthn plugin and the Fido U2F migration process over to WebAuthn works well. However, do you think it would make sense to disable the core Two Factor's Fido U2F provider if your plugin is active?
I know that the core Two Factor plugin is looking at removing U2F in a future release: WordPress/two-factor#439, but at the moment, it is kind of jarring and confusing to see two Security Key sections when your WebAuthn provider works and basically replaces the core Fido U2F one.
If you decide to disable the Fido U2F provider in your plugin, this can be done where you're already registering your provider here:
wp-two-factor-provider-webauthn/inc/class-plugin.php
Lines 35 to 38 in 258cabf
Also, I noticed that it is possible to delete the U2F key for each user with the 'WEBAUTHN_DELETE_U2F_KEYS_ON_MIGRATION' constant after migration. This should be documented publicly in the readme (or in some other place like the wiki) so others are aware of it.