The RP has the responsibility to declare the ceremony failed. To do this, the authenticator needs to report its findings to the RP, rather than declare failure itself.
Since the RP declares failure, they hold the burden of notifying the user.
The spec anticipates/permits āuv=falseā as a response to ārequiredā, given that the spec describes the response the RP should take.
āReturn an errorā is the notable bit. My view is that responding āUV=falseā is precisely how an authenticator would report the error. In other words, this sentence of the spec obliges the authenticator to be truthful when setting/clearing the UV flag.
Even though I have āstated my caseā, I do understand that it is Bitwarden, not me, that will be the defendant during certification. Therefore, Bitwardenās interpretation is much more important than mine.
That said, there is a fundamental ambiguity in the spec that results in this conversation even occurring. I would greatly appreciate you requesting they dis-ambiguate the (draft) spec, perhaps by changing it to ā⦠MUST clear the UV flag if ā¦ā
Incidentally, §1.3.3 #8 also covers this, but with no more clarity.
FYI, it is the WebAuthn client (e.g., the browser) that must return an error, not the authenticator (i.e., Bitwarden). Not āsettingā the āUV flagā means that the authenticator returns a response in which the value of the flags field has its Bit #2 set to 0); when this happens, the client must return an error if the RP has specified that UV is required.
I think it would be cool if the ālog in with deviceā flow could be re-purposed for Passkey UV.
I know Chrome has a QR code + Bluetooth thing that allows you to verify for your PC using your phoneās passkeys, but if Bitwarden also had a setting to where it required you to open your Bitwarden on your smartphone and do biometrics for passkeys that would be super cool.
From the browser perspective it would just be local passkey. The QR code BLE verification can be flaky sometimes, so having an alternative via Bitwarden would be awesome⦠and help people without biometrics on their PC.
Iām not sure for other platforms - but for Windows 11 there seems to be coming a different implementation:
(as the FIDO Alliance and some āpassword managersā like Bitwarden, 1Password and others⦠and OS vendors like Microsoft⦠seem to collaborate here, I guess, something similar could be in the works for Apple and Linux?!?)