about summary refs log tree commit diff
path: root/app/views/settings
diff options
context:
space:
mode:
authorEugen <eugen@zeonfederated.com>2017-04-08 22:20:08 +0200
committerGitHub <noreply@github.com>2017-04-08 22:20:08 +0200
commit9acdb166e8871632f592bfcd2386dfc288d81a07 (patch)
tree3ab00999fc01fee2146c70aef2016dbf29939196 /app/views/settings
parent470eb0042ea99e0632ccc62a0b7c01e910f70491 (diff)
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
Diffstat (limited to 'app/views/settings')
-rw-r--r--app/views/settings/two_factor_auths/new.html.haml17
-rw-r--r--app/views/settings/two_factor_auths/show.html.haml13
2 files changed, 20 insertions, 10 deletions
diff --git a/app/views/settings/two_factor_auths/new.html.haml b/app/views/settings/two_factor_auths/new.html.haml
new file mode 100644
index 000000000..5bae743ef
--- /dev/null
+++ b/app/views/settings/two_factor_auths/new.html.haml
@@ -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
diff --git a/app/views/settings/two_factor_auths/show.html.haml b/app/views/settings/two_factor_auths/show.html.haml
index 87bfadc69..047fe0c54 100644
--- a/app/views/settings/two_factor_auths/show.html.haml
+++ b/app/views/settings/two_factor_auths/show.html.haml
@@ -2,16 +2,9 @@
   = t('settings.two_factor_auth')
 
 .simple_form
-  - 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')
+  %p.hint= t('two_factor_auth.description_html')
 
+  - if current_user.otp_required_for_login
     = 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'