From dbb6805268d1d5d28f98d7367da9ebec2a22b9e9 Mon Sep 17 00:00:00 2001 From: Baobhan Sith <80159437+Heavrnl@users.noreply.github.com> Date: Sun, 4 May 2025 07:36:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=98=B2=E6=AD=A2=E5=9C=A8=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=AD=E6=84=8F=E5=A4=96=E6=B8=85=E7=A9=BA=20CAPTCH?= =?UTF-8?q?A=20=E5=AF=86=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/views/SettingsView.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/frontend/src/views/SettingsView.vue b/packages/frontend/src/views/SettingsView.vue index e68e8f4..85efc0d 100644 --- a/packages/frontend/src/views/SettingsView.vue +++ b/packages/frontend/src/views/SettingsView.vue @@ -1269,15 +1269,23 @@ const handleUpdateCaptchaSettings = async () => { captchaMessage.value = ''; captchaSuccess.value = false; try { - // Prepare DTO, ensuring keys are present even if empty + // Prepare DTO, only sending secret keys if they have been entered const dto: UpdateCaptchaSettingsDto = { enabled: captchaForm.enabled, provider: captchaForm.provider, + // Site keys are not sensitive, send them if present hcaptchaSiteKey: captchaForm.hcaptchaSiteKey || '', - hcaptchaSecretKey: captchaForm.hcaptchaSecretKey || '', // Send secret key recaptchaSiteKey: captchaForm.recaptchaSiteKey || '', - recaptchaSecretKey: captchaForm.recaptchaSecretKey || '', // Send secret key }; + + // Only include secret keys in the DTO if the user entered a value + if (captchaForm.hcaptchaSecretKey) { + dto.hcaptchaSecretKey = captchaForm.hcaptchaSecretKey; + } + if (captchaForm.recaptchaSecretKey) { + dto.recaptchaSecretKey = captchaForm.recaptchaSecretKey; + } + await settingsStore.updateCaptchaSettings(dto); captchaMessage.value = t('settings.captcha.success.saved'); // Need translation captchaSuccess.value = true;