Closed wparad closed 8 months ago
Okay, the issue here was that in some cases android might encode things in an inconsistent way regarding the clientDataJSON
object, but this had to be resolved before passing the data into the library. That means the caller has to be extra careful to not muck with the inputs into this library.
Steps to reproduce:
FWIW, it seems that https://github.com/webauthn-open-source/fido2-lib/issues/158, also has the same issue:
This happens for multiple yubikeys (and the Brave browser authenticator). All of them work through the Brave and Firefox browsers, but when using the cross-platform authenticators on mobile (browser irrelevant) all of them get invalid signatures.
Calling
await fido2lib.assertionResult(res, assertionExpectations)
:I'm using a Pixel 8, is it the source of the problem, would seem really suspicious if it were, these same hardware devices (yubikeys through the pixel work fine) Is it possible there is a weird other flow is that is causing a problem?
FWIW, I took at look at the supported devices in passkeys.dev, but I couldn't make heads or tales of whether or not this is supposed to work. I can't fathom why it wouldn't work, but it is weird that it is consistently broken with three different yubikeys, also broken with the brave browser authenticator, all work through desktop, none work through mobile, and multiple libraries have the same problem.