LG-9873: Use "transports" to optimize platform authentication prompt#8639
LG-9873: Use "transports" to optimize platform authentication prompt#8639
Conversation
8f83fb3 to
45f834f
Compare
I came across another snippet from the spec today, which does explicitly say that we should store unknown values (emphasis mine):
Source: https://w3c.github.io/webauthn/#dom-authenticatorattestationresponse-transports-slot I still don't feel particularly good about storing arbitrary values from the frontend. Based on the "SHOULD"s, it seems like this may be both unlikely and not strictly necessary to support, and at least our current implementation here would fall back to omitting the transports altogether if any unknown values are detected, which should revert to the behavior of providing the user with all possible options on subsequent authentications. |
45f834f to
ad91ac3
Compare
Co-authored-by: Zach Margolis <zachmargolis@users.noreply.github.com> changelog: Upcoming Features, Face or Touch Unlock, Pass browser hints to optimize authentication prompt
ad91ac3 to
55345f7
Compare
🎫 Ticket
LG-9873
🛠 Summary of changes
Records
transportsassociated with WebAuthn configurations during enrollment and uses those values in the authentication prompt, so that the browser UI will optimize the display for the user to select the correct authenticator device. For example, this should prevent users from being shown options for using a "Security Key" to complete Face or Touch Unlock.Via WebAuthn spec:
https://w3c.github.io/webauthn/#dom-publickeycredentialrequestoptions-allowcredentials
https://w3c.github.io/webauthn/#dictionary-credential-descriptor
📜 Testing Plan
Before: You'd be asked to select between QR code & security key.
After: You're immediately shown a QR code.
👀 Screenshots