-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webauthn-authenticator-rs: build bindings from Transport/Token -> AuthenticatorBackend #214
Comments
I think this is should be the first thing to look at in terms of improving the user experience. It would also unlock being able to handle authenticator selection. Looking at device monitoring (hot-plug events) this on a transport level: BTLEThis should be possible with caBLEThe caBLE UI flow works differently, and already has to listen for BTLE advertisements to start the handshake process. NFCThe library already tracks reader states, and we can listen for events with USB HIDIt looks like
Mozilla's I'm leaning towards forking Mozilla's |
I started looking into refactoring around USB HID on Windows first in https://github.com/micolous/webauthn-rs/tree/mozilla-hid It appears that There is a way to make this all async, and that's to use the new UWP APIs ( Where I'm at:
Once I've gotten the Windows side of things working, I should be able to then pivot to the others. |
My I didn't end up using much of the Mozilla Mozilla's code supports FreeBSD and NetBSD as well, but I'm not targeting those for now. It looks like at least on FreeBSD there is some Linux HID What's left to do:
|
I've started working on NFC support, and gotten basic device watching working. There are still some rough edges when tokens and/or NFC transceivers disappear at inopportune times. I've also got AnyTransport working with both NFC and USB, but need to put the feature flag gates back in.
|
Context: https://github.com/kanidm/webauthn-rs/blob/master/designs/authenticator-library.md#implement-an-authenticatorbackend-for-transporttoken
This will:
authenticator-rs
library (which only supports USB)PRs:
Pending work ideas:
Transport.tokens()
async
and return aStream
ofToken
?authenticatorSelection
only works in CTAP 2.1)authenticatorCredentialManagement
)authenticatorLargeBlobs
)authenticatorSelection
only works in CTAP 2.1, so need something else:wait_for_token
)pin_uv_auth_token
andiface
)Related:
The text was updated successfully, but these errors were encountered: