XcodesOrg / XcodesApp

The easiest way to install and switch between multiple versions of Xcode - with a mouse click.
MIT License
7.07k stars 309 forks source link

Support FIDO2 authentication with devices that don’t have a PIN code #655

Open MultiColourPixel opened 1 week ago

MultiColourPixel commented 1 week ago

This PR adds support for FIDO2 authentication with devices that don’t have a PIN code set.

This depends on a newer release of the LibFido2Swift library. At the time of writing LibFido2Swift only supports pin-less assertation on the main branch. As such this PR will have to wait until @kinoroy creates a new release on his side.

The updated version has now been released and the PR has been updated to reflect this.

Some further updates were made on the LibFido2Swift library to make PIN-less assertation easier. This PR was updated in turn to improve the UX of the PIN-less authentication flow.

The flow now is that when a user tries to log in, if the request needs 2FA - where the second factor is a security key we check:

The button for submitting without a pin was added to be inline with the other buttons on the PIN screen.

Ohh and I addressed a couple of issue that were being caught by the "Run Time Issue" breakpoint. Namely assigning the authError outside of the main thread.

Updated PIN Request flow

kinoroy commented 1 week ago

Hey, thanks for this! I went and created a release v0.1.3 for LibFido2Swift with support for PIN-less assertions