Fido2 not functioning on firefox build

Hey NixOS community,

Today I was trying to set up a passkey on my Token2 security key with WebAuthn, but got a generic missing pin error from Firefox while using the default firefox package. The CLI reporting the following error:

[ERROR authenticator::ctap2] Error when determining pinAuth: PinError(PinNotSet)

I then tried it in Chromium which worked as expected, then tried doing the same in firefox-bin and it worked flawlessly. So seemingly something in the firefox package is preventing WebAuthn from working properly. Is this a known problem? And if so, is there a workaround?

My information might be dated, but at some point in the past, firefox could only use fido2 hardware whose pin code had already been set with some other software. So I think the scenario is:

  • your brand new key has no pin code
  • you fail to use it with firefox because it has no pin code
  • you try to use it with chrome, so chrome offers to set a pin code on first use
  • you try again to use it with firefox (the fact that it is the -bin variant does not matter) and it works because the pin code is now set

This is still true. This is the upstream bug that remains open.

I set my hardware security key up with a passkey a few weeks ago and ran into this same exact error.

I had to use pkgs.fido2-manage to so this.