My biggest problem is how many things I have to configure to even be able to start to use the key.
There is a reason why Duo got bought for >2Gigabucks. 2FA is a PITA to administer.
My biggest problem is how many things I have to configure to even be able to start to use the key.
There is a reason why Duo got bought for >2Gigabucks. 2FA is a PITA to administer.
I get that simple U2F key registration is not what's seen in a lot of time in the real world, but most implementations are needlessly complex IMO.
Or just click: https://myaccount.google.com/signinoptions/two-step-verifica...
It takes time. And I have a ton of accounts. I like my U2F key but it is still a pain in the ass.
At work, Okta at least will handle it for us, but personally? It really sucks.
I will let your imagination run wild with what a nefarious person could do if every browser has the ability to detect if you are using a specific type of USB keyboard. I could point you in direction of device fingerprinting to start, but that's the bare minimum of what you expose.
[0]: https://www.yubico.com/product/yubikey-4-series/#yubikey-4-n...
WebAuthN is able to tell you that the web page wants you to put a hardware key in. That should be enough to be able to prompt users who've opted into using such a key elsewhere that they can do so here.
Which account? Where is the account? Who runs that account?
In a 10-person office, I want to be able to hand 3 keys to each person (1 for use, 1 for loss, and 1 just in case the other two somehow foul up), and then have them use those keys for computer login, email login, AWS login, GCP login, NXP/ST/SiLabs support forum login, etc.
And when one of them goes to another company (it happens), I need to be able to shut those keys down without their cooperation.
Until I can do this, 2FA is going to remain the province of big companies and not be very useful.
On the other hand TOTP is simple to add for .NET apps.