Fix #795, fix #704, fix #835 - 2FA requires confirmation to be enabled (#1278)

* Fix #795, fix #704, fix #835 - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled

* Clean up
This commit is contained in:
Eugen 2017-04-08 22:20:08 +02:00 committed by GitHub
parent 470eb0042e
commit 9acdb166e8
8 changed files with 88 additions and 28 deletions

View file

@ -0,0 +1,17 @@
- content_for :page_title do
= t('settings.two_factor_auth')
= simple_form_for @confirmation, url: settings_two_factor_auth_path, method: :post do |f|
%p.hint= t('two_factor_auth.instructions_html')
.qr-wrapper
.qr-code= raw @qrcode.as_svg(padding: 0, module_size: 4)
.qr-alternative
%p.hint= t('two_factor_auth.manual_instructions')
%samp.qr-alternative__code= current_user.otp_secret.scan(/.{4}/).join(' ')
= f.input :code, hint: t('two_factor_auth.code_hint'), placeholder: t('simple_form.labels.defaults.otp_attempt')
.actions
= f.button :button, t('two_factor_auth.enable'), type: :submit

View file

@ -2,16 +2,9 @@
= t('settings.two_factor_auth')
.simple_form
%p.hint= t('two_factor_auth.description_html')
- if current_user.otp_required_for_login
%p.hint= t('two_factor_auth.instructions_html')
.qr-code= raw @qrcode.as_svg(padding: 0, module_size: 5)
%p.hint= t('two_factor_auth.plaintext_secret_html', secret: current_user.otp_secret)
%p.hint= t('two_factor_auth.warning')
= link_to t('two_factor_auth.disable'), disable_settings_two_factor_auth_path, data: { method: 'POST' }, class: 'block-button'
- else
%p.hint= t('two_factor_auth.description_html')
= link_to t('two_factor_auth.enable'), enable_settings_two_factor_auth_path, data: { method: 'POST' }, class: 'block-button'
= link_to t('two_factor_auth.setup'), new_settings_two_factor_auth_path, class: 'block-button'