diff --git a/src/routes/auth/+page.svelte b/src/routes/auth/+page.svelte index 8abe66766b..76aa097d1b 100644 --- a/src/routes/auth/+page.svelte +++ b/src/routes/auth/+page.svelte @@ -42,6 +42,8 @@ let ldapUsername = ''; + let submitting = false; + const setSessionUser = async (sessionUser, redirectPath: string | null = null) => { if (sessionUser) { console.log(sessionUser); @@ -104,12 +106,21 @@ }; const submitHandler = async () => { - if (mode === 'ldap') { - await ldapSignInHandler(); - } else if (mode === 'signin') { - await signInHandler(); - } else { - await signUpHandler(); + if (submitting) { + return; + } + + submitting = true; + try { + if (mode === 'ldap') { + await ldapSignInHandler(); + } else if (mode === 'signin') { + await signInHandler(); + } else { + await signUpHandler(); + } + } finally { + submitting = false; } }; @@ -370,21 +381,37 @@ {#if $config?.features.enable_login_form || $config?.features.enable_ldap || form} {#if mode === 'ldap'} {:else} {#if $config?.features.enable_signup && !($config?.onboarding ?? false)}