Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While dogfooding the server library I confused myself by not having a
requireUserVerification
option onverifyAuthenticationResponse()
like there is onverifyRegistrationResponse()
. Instead was thefidoUserVerification
argument that felt clunky to use and actually ignoredup
if set to"preferred"
.I remembered I'd added
fidoUserVerification
to satisfy a few tests in FIDO Conformance testing that require you to pass verification even when user presence was false or not set:However, digging into why FIDO Conformance required servers to support up not being true when the latest spec requires up to always be true, it seems in 2019 when WebAuthn was in a very early state there was some discussion about the possibility of supporting "silent authentication". The spec never adopted the idea and now, as of today, user presence must be true.
I'm attempting to reopen an issue in the FIDO Conformance Tools repo to get them to reconsider these three tests as I don't think they're relevant anymore given the evolution of WebAuthn over the last three years.
In the meantime I've prepped this diff to make
verifyAuthenticationResponse()
simpler to use by matching howverifyRegistrationResponse()
allows you to require theuv
flag be true.