Comments (3)
Right now I am working on a frontend GUI to this system to make it more user friendly, but I am open to others also building potential frontends as well. Personally, I think it is important (and required by the FIDO spec) to get actual user approval, because otherwise any random process could request a login/assertion from the device and get it automatically. The FIDO spec requires that the device verify user presence (and potentially user authentication with a PIN) so I would default to doing that.
from virtual-fido.
Haven´t read the spec in detail. Was just curious whether really two user interactions are required. May be the firefox prompt could be turned off instead of doing auto-approval.
I don´t want to interfere with you implementing a GUI. Actually I am happy just to use software as provided. However, can you really do decent native UIs, assuming that notification mechanisms are usually OS-dependent? Which OSes are you going to tackle? Probably the first step is to define an API between the fido component and a notification component, and whether the notification component is launched on demand or not.
from virtual-fido.
The goal for this package is for that interface between FIDO and the frontend to be clearly defined with the FIDOClient
interface, where this package handles all of the FIDO/USB protocol stuff and then people being able to build any secret storage or interface on top of it. I wouldn't say that interface is perfect, so I'm happy to take suggestions/feature requests for exactly how to define that interface. The current interface is mainly just built out of requirements for getting the demo up and running, as well as a few additional features for the separate GUI stuff I'm building.
The GUI that I'm building right now is essentially the software version of the hardware buttons you might find on a Yubikey; you can approve various requests to the device as well as view and manage the various credentials that are stored on the device. Unfortunately it seems like it might be hard to support Mac since Mac doesn't support USB/IP, but I'm taking a look at alternate USB emulation (that I would add to this project).
For the auto-approval/UX part, it's difficult since the various operating systems and browsers seem to be intent on adding extra clicks in front of the device, even with hardware devices like Yubikeys. For instance, on Chrome+Windows, you have to approve it inside Chrome, then approve it on Windows, then approve it on the Yubikey/Virtual FIDO device, which is an annoying user experience.
from virtual-fido.
Related Issues (20)
- demo: `undefined: platformUSBIPExec` on Linux HOT 4
- Virtual Authenticator Does Not Work Properly with Stripe HOT 1
- Virtual Fido device demo not working with Yubikey test page (or any other passkey demo page) HOT 6
- FIDO 2 USB passwords
- Doesn't seem to work on Ubuntu 23.10
- Cannot add it as an Host USB device in virtual manager
- Does virtual-fido work in macos now? HOT 3
- usbip: error: vhci driver is not loaded HOT 1
- ERROR: Unapproved action (Create account) on passkeys.io
- WebAuthn.io register error
- crash with "panic: Invalid USB Interface bRequest: 9" when faced with linux hidraw sample code HOT 3
- Doesn't support the hmac-secret extension, silently ignored
- ./client_usbip.go:16:15: undefined usbip.NewUSBDevice HOT 3
- maybe enable discussions?
- "newer key neede" when trying to use with https://passlock.dev/#demo
- bulwark_passkey on trixie requires libs updated HOT 1
- passwordless registration/login fails HOT 1
- Linux documentation update / snap support HOT 1
- virtual-fido/identities
- NEED tutorial
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from virtual-fido.