From c57816d8eea2d7ec58dd6b37d97f4bfac8e063e3 Mon Sep 17 00:00:00 2001 From: panda Date: Thu, 14 Mar 2024 03:29:23 +0800 Subject: [PATCH] ui: handle user_verify keyDown (#752) --- packages/ui-default/pages/user_verify.page.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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;