-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Implement FIDO2 credential picker #14033
Conversation
FYI @kimlisa @zmb3 @xinding33, this is what we talked about last week. I'm tempted to backport to v10.0.0, as this is actually better in various ways. |
I'll leave it to @zmb3 to decide whether or not we should backport this to v10.0.0. This is a great UX improvement though, love it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thanks folks for the feedback and quick review. Friendly ping @ravicious @strideynet ? |
f635e2a
to
3d3bae3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to test this myself but I'd need to make a tag I could get signed & notarized version of tsh, wouldn't it? After that I don't think I could add more than one passwordless device other than TouchID since I only have the regular yubikeys 5C.
@ravicious no need to sign/notarize, but you do need |
@codingllama See the table below for backport results.
|
Backport #14033 to branch/v10 Add a credential picker to the tsh FIDO2/WebAuthn backend. The PR pulls a recent patch in our go-libfido2 fork that makes it correctly return multiple assertions from the authenticator. This allows us to implement the credential picker for FIDO2, simplify our implementation and provide the exact same UX that browsers use (always 1-touch for bio, touch->PIN->touch otherwise). I've dropped concepts like "optimistic assertions" and "eager PIN prompts" in favor of a simple, uniform implementation. Issue #13901. * Prompt for credentials in LoginPrompt * Update go-libfido2 * Implement FIDO2 credential picker * Drop optimistic assertions, only set user if explicit * Add license to fido2_prompt_test.go
Add newline missing from PR #14033.
Add a credential picker to the
tsh
FIDO2/WebAuthn backend.The PR pulls a recent patch in our go-libfido2 fork that makes it correctly return multiple assertions from the authenticator. This allows us to implement the credential picker for FIDO2, simplify our implementation and provide the exact same UX that browsers use (always 1-touch for bio, touch->PIN->touch otherwise).
I've dropped concepts like "optimistic assertions" and "eager PIN prompts" in favor of a simple, uniform implementation.
Issue #13901.