Skip to content

Conversation

@msirringhaus
Copy link
Collaborator

The UsbStateInternal::NeedsUserVerification-case prevented the fallback from fingerprints to PINs, in case UV got blocked by using the wrong finger too often.
In general, I don't think we should error out because of UxUpdates at all, as libwebauthn should error out properly in case of actual errors in the actual function call (not via the updates channel).
With this patch, I'm able to fall back to entering PINs after UV got blocked. However, once PINs get blocked also, the UI doesn't reflect that, but I think this is a general issue right now with propagating/displaying errors of any kind.
Sadly, I didn't have the time to add a fix for that to this PR, too.

@iinuwa
Copy link
Member

iinuwa commented Jul 2, 2025

sorry for not getting to this for a while.

In general, I don't think we should error out because of UxUpdates at all, as libwebauthn should error out properly in case of actual errors in the actual function call (not via the updates channel).

I see. you're referring to this here: https://github.com/linux-credentials/libwebauthn/blob/d3cd0d3bfd237ad4dc77ce7017b9c34588986182/libwebauthn/src/webauthn.rs#L463-L490. So libwebauthn will send a new PresenceRequired update after receiving UV Blocked from the authenticator? This sounds good.

@iinuwa iinuwa merged commit 2b126dd into linux-credentials:main Jul 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants