From 51e7f262bd9794c70bb7551ee0b2065bb958d779 Mon Sep 17 00:00:00 2001 From: erio Date: Sun, 1 Mar 2026 13:02:12 +0800 Subject: [PATCH] fix(auth): add submit Turnstile widget in email verify flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 邮箱验证码流程中,提交注册前要求重新完成 Turnstile 验证 - 修复发送验证码后 token 被清空导致注册时缺少 turnstile_token 的问题 - submit/resend 两个 widget 通过 showResendTurnstile 互斥显示 --- backend/internal/handler/auth_handler.go | 3 +- frontend/src/views/auth/EmailVerifyView.vue | 46 +++++++++++++++++++-- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/backend/internal/handler/auth_handler.go b/backend/internal/handler/auth_handler.go index e0078e14..b277ff65 100644 --- a/backend/internal/handler/auth_handler.go +++ b/backend/internal/handler/auth_handler.go @@ -113,8 +113,7 @@ func (h *AuthHandler) Register(c *gin.Context) { return } - // Turnstile 验证 — 始终执行,防止绕过 - // TODO: 确认前端在提交邮箱验证码注册时也传递了 turnstile_token + // Turnstile 验证 — 始终执行,防止机器人自动化注册 if err := h.authService.VerifyTurnstile(c.Request.Context(), req.TurnstileToken, ip.GetClientIP(c)); err != nil { response.ErrorFrom(c, err) return diff --git a/frontend/src/views/auth/EmailVerifyView.vue b/frontend/src/views/auth/EmailVerifyView.vue index 7f797eb4..63974867 100644 --- a/frontend/src/views/auth/EmailVerifyView.vue +++ b/frontend/src/views/auth/EmailVerifyView.vue @@ -69,6 +69,20 @@ + +
+ +

+ {{ errors.submitTurnstile }} +

+
+
-