jupyterhub / jupyterhub/nativeauthenticator
Refactor 2FA UX to let existing users without 2FA set it up
- Dominant language
- Python
- Stars
- 81
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
It would be good to allow already registered users to register for 2FA authentication.
To implement this, I bet its relevant to setup dedicated handlers for the 2FA matters. Currently we have providing a code to be part of the login screen, and part of setting up 2FA part of the signup screen. If we would allow users to enable 2FA after they are created, we don't want to forcefully tweak the signup handler to manage this as it would add too much complexity. It would be better to have a dedicated screen to both setup 2FA and to enter a 2FA code I think.
I see no reason for this to be backward incompatible, but it will probably be a quite significant in size PR.
### Action points (chronological order)
- [x] Find tentative agreement towards the enhancement and the vague implementation idea presented above about breaking apart the 2FA parts from login/signup.
@lambdaTotoro what do you think?
- [ ] Establish and describe the planned changes in more detail
- [ ] What new Handlers should be defined
- [ ] What inputs and such should be part of new templates for the new handlers/endpoints?
- [ ] How should the UX be for:
- [ ] A user signing up for 2FA
- [ ] An existing using signing up for 2FA
- [ ] An existing user with / without 2FA logging in
- [ ] If we would require users to activate 2FA if they didn't have it, and it is now required for the hub
- [ ] Implement enhancement
- [ ] Add tests
- [ ] Update documentation where needed
### Related
- #72
This is held back by the current 2FA UX where a user that is signing up must first register their code in their 2FA application. If we solve this and #168 first, we can make this quite easy I think.
- #168
- #155
- #153
- #152
Contributor guide
Assessment
This issue has not been assessed yet.