Commit Graph

7 Commits (4bf5aeae833ba4b751cd04d67a0697052a14e0ee)

Author SHA1 Message Date
Eugen Rochko e1066cd431
Add password challenge to 2FA settings, e-mail notifications ()
Fix 
Eugen Rochko a4b60e9ba4
Fix TOTP codes not being filtered from logs during enabling/disabling ()
Not a serious issue because they are meaningless past single use
Eugen Rochko 22ce4778eb
Fix uncaught parameter missing exceptions and missing error templates ()
Yamagishi Kazutoshi d10447c3a8 Use raw status code on have_http_status ()
Eugen Rochko 5e8d037e27 Fix - Require OTP authentication to disable 2FA ()
* Fix  - Require OTP authentication to disable 2FA. Also, remove ability
to generate new OTP backup codes *after* initial backup codes were handed
out during activation

* Restore recovery code re-generation

* Improve display of some 2FA elements
Akihiko Odaki 0e4ca51951 Cover Settings::TwoFactorAuthenticationsController more ()
Matt Jankowski 67dea31b0f 2FA controller cleanup ()
* Add spec coverage for settings/two_factor_auth area

* extract setup method for qr code

* Move otp required check to before action

* Merge method only used once

* Remove duplicate view

* Consolidate creation of @codes for backup

* Move settings/2fq#recovery_codes to settings/recovery_codes#create

* Rename settings/two_factor_auth#disable to #destroy

* Add coverage for the otp required path on 2fa#show

* Clean up the recovery codes list styles

* Move settings/two_factor_auth to settings/two_factor_authentication

* Reorganize the settings two factor auth area

Updated to use a flow like:

- settings/two_factor_authentication goes to a #show view which has a button
  either enable or disable 2fa on the account
- the disable button turns off the otp requirement for the user
- the enable button cycles the user secret and redirects to a confirmation page
- the confirmation page is a #new view which shows the QR code for user
- that page posts to #create which verifies the code, and creates the recovery
  codes
- that create action shares a view with a recovery codes controller which can be
  used separately to reset codes if needed