Add Credential Manager support and improve WebAuthnLinux authenticator functionality - #3
Add Credential Manager support and improve WebAuthnLinux authenticator functionality#3Karloss1234 wants to merge 5 commits into
Conversation
|
This PR is a huge progress. The installation is currently still very cumbersome though. I had to upload under addons.mozilla.org and change the ID (because of duplicate ID error) and also change the ID in the installer script and download the signed XPI. Any other attempt to make the temporary addon permanent failed (tried the Firefox Developer Version, disabled signature verification in about:config, yada yada - to no avail). But this will hopefully be better when there is an official version on addons.mozilla.org. Now, I have a permanent addon in the browser and a popup window appears with a button. But unfortunately, the fingerprint doesnt verify: fprintd-verify on the command-line works. But no matter how often I try, always verify-no-match with the add-on. |
|
Good to see someone testing it. Thanks for trying the fork. I did make one small change in
Would you mind testing these two commands in your terminal and letting me know if there is any difference?
and:
The extension error you posted is identical to what I get if I intentionally use the wrong finger, so I want to confirm whether the command behaves differently on your system. If you like, you can also temporarily edit Could you also let me know: Linux distribution and version Yes, the installation procedure still needs a lot of work. For my setup, setting: I am using the latest Firefox installed from the Kubuntu APT repository (not Snap or Flatpak), and I also test with LibreWolf. It would be useful to know whether this behaves differently on other Firefox builds or distributions. Can you let me know your Firefox Install environment? Thanks!` |
|
I have been playing around with Flatpack Firefox. |
|
@Karloss1234 : My coworker took that laptop home, so I can only check next week. A few things I can already say though:
|
|
Okay, I'll look to making an install of Manjaro and see if I get the same. Let me know about Does It appears that some distros allow |
|
Updated the installer and tested the new installation flow. See fork README for install instructions. Changes:
Testing completed:
The installer is now intended to make the correct branch and browser-family setup clearer for normal users rather than only developers. |
This started off as a solution to exactly one problem I was facing. I truthfully did not expect a 2nd user for this plugin 😅 . I'll work on pipelining the project to firefox addons.
Others have pointed out the issue too, where only the first enrolled fingerprint is being tested. Let me merge that, once I have the responses from the contributor. |
|
Thank you for your contribution 🥇 . I'll work on reviewing, merging and releasing this, but please bear with me a tiny bit more.
|
|
@Karloss1234 That's an awesome update. Does a lot of required fixes. I do have a couple of requests:
|
|
I went through the branch and cleaned up the diff: -restored upstream explanatory comments There is still debugging in webauthn-authenticator.js. I was of the mind that I would have another go at improving the extension at some point, and the existing debugging may be useful for myself or other contributors. But I can clear it out if you want. It can always be removed with later efforts. The install wizard is a little backwards for Chrome install (it asks for Extension ID before asking for desired install browser), but at least it works and is a big improvement. The updated commit is now pushed. |
|
Okay, thanks for all the changes. The problem with the unrecognized fingerprint was my fault. A bit embarassing. fprintd --verify did in fact also show verify-no-match on the command line, but because it immediately returned I didn't notice this as an error, didnt notice the word "no" and thought it had verified. The main problem was that my coworker swiped over the sensor but apparently this sensor just requires a single touch. When we re-enrolled the fingerprint with single touch it worked. I still don't understand why there isn't much more interest of a wider audience in this. Linux on a laptop used to be an absolute nightmare (no audio, no keyboard backlight, sometimes even no graphics) just a few years ago. Now, with various laptops I have zero problems except this one. It's really great that I can now use the fingerprint for web authentication. Thank you so much for making this. The only part missing now is an updated extension on the addon store so we don't have to jump through all these hoops to install it :-) And very minor, the dialog that appears could perhaps one day need an UI designer ;-) And the additional necessary click on the button is of course unnecessary, but I don't know whether there's a way to avoid that. But that's nitpicking of course. This is otherwise just brilliant and a major step forward to bring the Linux laptop experience on par with The Evil OS. Thanks again for making this! |
|
I used Windows Hello Finger scan all the time. I'm surprised of the lack of demand for this as well. Yes, I'd like to do some updates for the UI. Some ideas:
|
Core authenticator improvements (
webauthn-authenticator.js)Major improvements have been made to the WebAuthn authenticator implementation. It is now a functional Linux software Passkey authenticator with built-in credential management capabilities.
Summary
This PR improves WebAuthnLinux by adding Credential Manager functionality, improving credential persistence, and strengthening browser/native messaging integration.
The main areas changed are:
Testing has successfully verified Passkey registration and login with:
Specific changes
Credential management
system_credentialsthrough browser storage.Authenticator reliability
WebAuthn compatibility
]- Improved authenticator metadata handling, including AAGUID management.
Native messaging installation improvements
Debugging and development
Breaking changes
Installing over Previous developments produces errors. Delete all traces of previous installs.