diff --git a/packages/ui-default/pages/user_verify.page.ts b/packages/ui-default/pages/user_verify.page.ts
index ac39d2808..4f032b4ad 100644
--- a/packages/ui-default/pages/user_verify.page.ts
+++ b/packages/ui-default/pages/user_verify.page.ts
@@ -45,15 +45,15 @@ async function chooseAction(authn?: boolean) {
${i18n('Two Factor Authentication')}
${i18n('Your account has two factor authentication enabled. Please choose an authenticator to verify.')}
-
+
`,
@@ -88,8 +88,17 @@ export default new AutoloadPage('user_verify', () => {
}
const { authn, tfa } = info.uname || info.mail;
if (authn || tfa) {
+ const handleKeyDown = (event) => {
+ if (event.key === 'Enter') {
+ const code = $('[name="tfa_code"]').val() as string;
+ if (code) $('[data-action="tfa"]').trigger('click');
+ else $('[data-action]').trigger('click');
+ }
+ };
+ $(document).on('keydown', handleKeyDown);
let action = (authn && tfa) ? await chooseAction(true) : '';
action ||= tfa ? await chooseAction(false) : 'webauthn';
+ $(document).off('keydown', handleKeyDown);
if (action === 'webauthn') {
const challenge = await verifywebauthn(form);
if (challenge) form['authnChallenge'].value = challenge;