diff --git a/app/controllers/users/webauthn_setup_controller.rb b/app/controllers/users/webauthn_setup_controller.rb index b2d1346f14f..2b04aa2dd38 100644 --- a/app/controllers/users/webauthn_setup_controller.rb +++ b/app/controllers/users/webauthn_setup_controller.rb @@ -183,17 +183,12 @@ def process_invalid_webauthn(form) else flash.now[:error] = t('errors.webauthn_setup.unique_name') end - - render :new + elsif form.platform_authenticator? + flash[:error] = t('errors.webauthn_platform_setup.general_error') else - if form.platform_authenticator? - flash[:error] = t('errors.webauthn_platform_setup.general_error') - else - flash[:error] = t('errors.webauthn_setup.general_error') - end - - redirect_to account_two_factor_authentication_path + flash[:error] = t('errors.webauthn_setup.general_error') end + render :new end def mark_user_as_fully_authenticated diff --git a/app/javascript/packs/webauthn-setup.ts b/app/javascript/packs/webauthn-setup.ts index f0b68e2eda2..3915be22c44 100644 --- a/app/javascript/packs/webauthn-setup.ts +++ b/app/javascript/packs/webauthn-setup.ts @@ -19,8 +19,9 @@ function webauthn() { if (!isWebAuthnEnabled()) { reloadWithError('NotSupportedError'); } - const continueButton = document.getElementById('continue-button')!; - continueButton.addEventListener('click', () => { + const form = document.getElementById('webauthn_form') as HTMLFormElement; + form.addEventListener('submit', (event) => { + event.preventDefault(); document.getElementById('spinner')!.classList.remove('display-none'); document.getElementById('continue-button')!.className = 'display-none'; @@ -47,19 +48,6 @@ function webauthn() { }) .catch((err) => reloadWithError(err.name, { force: true })); }); - const input = document.getElementById('nickname') as HTMLInputElement; - input.addEventListener('keypress', function (event) { - if (event.keyCode === 13) { - // prevent form submit - event.preventDefault(); - } - }); - input.addEventListener('keyup', function (event) { - event.preventDefault(); - if (event.keyCode === 13 && input.value) { - continueButton.click(); - } - }); } if (process.env.NODE_ENV !== 'test') { diff --git a/app/views/users/webauthn_setup/new.html.erb b/app/views/users/webauthn_setup/new.html.erb index e5b741968b1..611731e5386 100644 --- a/app/views/users/webauthn_setup/new.html.erb +++ b/app/views/users/webauthn_setup/new.html.erb @@ -52,13 +52,12 @@ checked: @presenter.remember_device_box_checked?, }, ) %> - <%= submit_tag t('forms.buttons.submit.default'), id: 'submit-button', class: 'display-none' %> + <%= submit_tag( + @presenter.button_text, + id: 'continue-button', + class: 'display-block usa-button usa-button--big usa-button--wide margin-y-5', + ) %> <% end %> -<%= button_tag( - @presenter.button_text, - class: 'display-block usa-button usa-button--big usa-button--wide margin-y-5', - id: 'continue-button', - ) %>