Disable login captcha if backend has no captcha secret (#5288)

* Add /_internal/globals route

* Don't show login captcha if backend claims it's disabled

* try to re-add tombi

* typos

* Assume captcha enabled if globals route is unreachable

* Prepare frontend fixes
This commit is contained in:
aecsocket
2026-02-04 18:08:14 +00:00
committed by GitHub
parent 323090966b
commit 3f5e3b1d8b
7 changed files with 94 additions and 16 deletions

View File

@@ -108,11 +108,11 @@
</IntlFormatted>
</p>
<HCaptcha ref="captcha" v-model="token" />
<HCaptcha v-if="globals?.captcha_enabled" ref="captcha" v-model="token" />
<button
class="btn btn-primary continue-btn centered-btn"
:disabled="!token"
:disabled="globals?.captcha_enabled ? !token : false"
@click="createAccount"
>
{{ formatMessage(messages.createAccountButton) }} <RightArrowIcon />
@@ -209,6 +209,15 @@ if (auth.value.user) {
const captcha = ref()
const { data: globals } = await useAsyncData('auth-globals', async () => {
try {
return await useBaseFetch('globals', { internal: true })
} catch (err) {
console.error('Error fetching globals:', err)
return { captcha_enabled: true }
}
})
const email = ref('')
const username = ref('')
const password = ref('')