-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Saved Passkey" vs "Touch ID Passkey": What's the difference? #12
Comments
Interesting, I don't have a mac so I haven't seen this UX myself. My instinct is to say it's up to the browser and OS, because the APIs we call just hand off the request to them. I don't think there's anything I'm sending which is affecting which of those modals shows up or which options are available. |
It's the same (not-Safari) browser on the same OS and same user account etc, being tested with WebAuthn side-by-side on two different websites, so it's definitely a difference in options. I'm thinking it's related to either "UV required" or the option to show a list of initial options vs showing the os-default option only. I highly doubt it's a different non-WebAuthn API because Apple never lets 3rd party apps use their integrated APIs, and this isn't Safari. I'm about to the point of doing my own testing, so I'll update if I figure it out. |
Websites wouldn't have different APIs, no. But I have definitely seen different UX from how different native apps (I use Android) integrate and use various native platform APIs.
OK, interesting. FWIW, we do in fact require some specific settings for the way we need the passkey to work...
All of these settings can be overridden in the options that are passed to WebAuthn-Local-Client's It's possible we could revisit and potentially allow overriding these through Local-Data-Lock and Local-Vault APIs. But we have to make sure settings aren't overridden in a way that fundamentally breaks what's being assumed about how the passkeys /
Yes, please do let me know if you figure anything specific out. |
The UX (which modals you get) also will depend on which button/mode you're trying in the test demo page.
|
Okay, so I think I've figured it out. All of what you said, but a few extra details: Options
Modes
There's a lot of possible permutations here. I think I won't realistically discover many of them until user complaints surface. |
BTW, if you haven't seen this: https://web.dev/articles/passkey-form-autofill Conditional mediation is demo'd in the tests for this library (WebAuthn-Local-Client), but honestly... that UX flow -- clicking into a username/password field to activate auto-fill, instead of just clicking a button -- doesn't really match the expected UX of how I think apps will use local-data-lock and local-vault. It seems like a "transitional UI" mode where you've got an app that users already do username/password authentication, and you're migrating/upgrading to passkeys (optionally)... so users can sort discover passkey functionality, while interacting with an auth UI they're already familiar with. |
Also, while I agree that it matters how the UX of these modals feels to end-users, ultimately, I'm not inclined to obsess too much about it, or jump through too many hoops to affect what's shown. The reason is similar to how I use standard HTML form elements (select boxes, checkboxes, calendar picker, etc) instead of super-customized UI elements. I actually think that sort of responsibility belongs to the browser/OS/device. It should be different for iOS users versus Android, etc. Because the makers of those devices have an entirely different relationship with their users, set different brand/UX expectations, etc. I think app developers should kind of yield control over in those cases, and let those makers own the responsibility to design good interaction UX. |
I 100% agree that users on Android should be given the opportunity to have the Android experience, and users on Apple should be given the Apple experience. I hate these milktoast apps that in order to have "better" and "consistent" design end up with far worse design with the defaults provided by the platform, and completely inconsistent with user expectations. And Chrome users, well, there doesn't seem to be a way to force the Apple or Microsoft experience to come first on Desktop - it's just always Chrome experience by default (Browser Sync, NOT OS Keychain) - the user has to personally click the button to opt-in to the Apple or Microsoft experience - which makes sense because Google doesn't want your keys on someone else's cloud. They need their fingers in there to divert the keys first and foremost to them, duh! [EDITOR NOTE]: With you bringing up your proposed solution of using credential ID for encryption-key seed, this discussion has now veered off from this library (WebAuthn Local Client), into concerns that are more related to Local Data Lock. So I'm moving the rest of your response over to an existing issue you already filed on that library, just to keep things more tidy and coherent. |
Thanks for the UX thoughts and feedback. I think we've covered that here sufficiently, so closing for now. If there's more thoughts specifically on the UX of the various system modal prompts, please feel free to continue to post here. |
I don't know what it's like on other operating systems, but on macOS the user experience is nicer with Touch ID Passkeys rather than Saved Passkeys - the modal window opens in the correct place rather than potentially on another screen.
Do you know what the difference is between triggering the two different types of passkey?
Also, clicking Use a different passkey doesn't show the Touch ID Passkey option.
This is, of course, very confusing because they both use the term "Touch ID" and the term "Passkey". One of them is "Browser" and the other is "Saved".
Saved Passkey
Touch ID
The text was updated successfully, but these errors were encountered: