Skip to content

2FA User Interfaces (authentication workflow) #5587

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

Closed
nlhkabu opened this issue Mar 18, 2019 · 12 comments
Closed

2FA User Interfaces (authentication workflow) #5587

nlhkabu opened this issue Mar 18, 2019 · 12 comments
Assignees
Labels
UX/UI design, user experience, user interface

Comments

@nlhkabu
Copy link
Contributor

nlhkabu commented Mar 18, 2019

Proposed UI for 2FA login workflow (swap purple for PyPI blue... and voila!):

Screenshot from 2019-03-18 20-36-17

Screenshot from 2019-03-18 12-04-14

Screenshot from 2019-03-18 12-04-59

Notes:

  1. two tabs will only be shown if user has chosen to setup both methods. The 'default' method (i.e. default tab) will be defined by the user in the admin
  2. 'Get help' links will link through to appropriate help section (see 2FA/multifactor auth: policy on requiring recovery codes #5586)

@woodruffw - I decided that it would be better to separate the recovery codes from the key authentication (e.g. not use the same form, as we had discussed), because they are not equal in effectiveness. A recovery code can only be used once, and is bypassing the 2FA process - for this reason, we want to discourage their use to only 'emergency' situations. My concern with using the same form as the key input, is that users will believe these methods are equal in value.


Screenshot Required: This issue will require an update to the visual design of the site. To help our team give you faster feedback, include a screenshot in your Pull Request.

@nlhkabu nlhkabu changed the title 2FA User Interfaces 2FA User Interfaces (authentication workflow) Mar 18, 2019
@nlhkabu
Copy link
Contributor Author

nlhkabu commented Mar 18, 2019

@woodruffw if this proposal looks good to you, I will update #5567 to include the appropriate changes.

@nlhkabu nlhkabu added the UX/UI design, user experience, user interface label Mar 18, 2019
@nlhkabu nlhkabu self-assigned this Mar 18, 2019
@woodruffw
Copy link
Member

@nlhkabu This looks great to me! I really like the design.

I decided that it would be better to separate the recovery codes from the key authentication (e.g. not use the same form, as we had discussed), because they are not equal in effectiveness. A recovery code can only be used once, and is bypassing the 2FA process - for this reason, we want to discourage their use to only 'emergency' situations. My concern with using the same form as the key input, is that users will believe these methods are equal in value.

👍

Feel free to update #5567 whenever you're ready!

@woodruffw
Copy link
Member

JFYI: I'm going to push some more unit tests today, so you'll probably need to rebase before adding the templates.

@brainwane brainwane added this to the OTF Security work milestone May 16, 2019
@brainwane
Copy link
Contributor

@woodruffw mentioned today in IRC:

here are the two major UI/X items: the authentication flow (/account/two-factor) needs a tabbed view, one tab for each 2FA method. i think nlh already has a good mockup of what that'll look like. the second item is turning the current rudimentary WebAuth provisioning flow (/manage/account/webauthn-provision) into something more consistent with the TOTP provisioning flow + adding help text

@nlhkabu is there anything you need for the latter?

@nlhkabu
Copy link
Contributor Author

nlhkabu commented May 19, 2019

@brainwane - nothing needed on my side. Just need the go-ahead from @woodruffw. @woodruffw are you ok for me to pull down #5795 and update templates?

@nlhkabu nlhkabu added UX/UI design, user experience, user interface and removed UX/UI design, user experience, user interface labels May 19, 2019
@woodruffw
Copy link
Member

@nlhkabu Yep!

@brainwane
Copy link
Contributor

@nlhkabu how's this going?

@brainwane
Copy link
Contributor

brainwane commented Jun 18, 2019

I believe the one remaining task here will be to support the API keys in #994 which will be another auth method.

@brainwane
Copy link
Contributor

I presume you'll be adding API key user interfaces to commits in #6084 ?

@nlhkabu
Copy link
Contributor Author

nlhkabu commented Jul 18, 2019

That's right @brainwane - @woodruffw pinged me yesterday on this, and I'm starting work on that today :)

@brainwane
Copy link
Contributor

Is there anything left to be done in this issue, @nlhkabu, or can we close it?

@nlhkabu
Copy link
Contributor Author

nlhkabu commented Aug 8, 2019

Yes, let's close. Recovery codes are missing, but this is documented in #5800

@nlhkabu nlhkabu closed this as completed Aug 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UX/UI design, user experience, user interface
Projects
None yet
Development

No branches or pull requests

3 participants