From 818f612ee22bcbae830ea52950ce447e25d92951 Mon Sep 17 00:00:00 2001 From: ckt1031 <65409152+ckt1031@users.noreply.github.com> Date: Sun, 30 Jul 2023 12:22:20 +0800 Subject: [PATCH] fix: email verification should enable back for registrated users --- controller/misc.go | 4 ++-- router/api-router.go | 7 ++++++- web/src/components/PersonalSetting.js | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/controller/misc.go b/controller/misc.go index 210731de..dadb9a2b 100644 --- a/controller/misc.go +++ b/controller/misc.go @@ -70,7 +70,7 @@ func GetHomePageContent(c *gin.Context) { return } -func SendEmailVerification(c *gin.Context) { +func SendEmailVerification(c *gin.Context, bypassRegisterEnabledCheck bool) { email := c.Query("email") if err := common.Validate.Var(email, "required,email"); err != nil { c.JSON(http.StatusOK, gin.H{ @@ -86,7 +86,7 @@ func SendEmailVerification(c *gin.Context) { }) return } - if !common.RegisterEnabled { + if !common.RegisterEnabled && !bypassRegisterEnabledCheck { c.JSON(http.StatusOK, gin.H{ "success": false, "message": "管理员关闭了新用户注册", diff --git a/router/api-router.go b/router/api-router.go index 383133fa..b9917f07 100644 --- a/router/api-router.go +++ b/router/api-router.go @@ -17,7 +17,9 @@ func SetApiRouter(router *gin.Engine) { apiRouter.GET("/notice", controller.GetNotice) apiRouter.GET("/about", controller.GetAbout) apiRouter.GET("/home_page_content", controller.GetHomePageContent) - apiRouter.GET("/verification", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.SendEmailVerification) + apiRouter.GET("/verification", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), func(c *gin.Context) { + controller.SendEmailVerification(c, false) + }) apiRouter.GET("/reset_password", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.SendPasswordResetEmail) apiRouter.POST("/user/reset", middleware.CriticalRateLimit(), controller.ResetPassword) apiRouter.GET("/oauth/github", middleware.CriticalRateLimit(), controller.GitHubOAuth) @@ -28,6 +30,9 @@ func SetApiRouter(router *gin.Engine) { userRoute := apiRouter.Group("/user") { userRoute.POST("/register", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.Register) + apiRouter.GET("/verification", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), func(c *gin.Context) { + controller.SendEmailVerification(c, true) + }) userRoute.POST("/login", middleware.CriticalRateLimit(), controller.Login) userRoute.GET("/logout", controller.Logout) diff --git a/web/src/components/PersonalSetting.js b/web/src/components/PersonalSetting.js index 108655d2..5b4e4e82 100644 --- a/web/src/components/PersonalSetting.js +++ b/web/src/components/PersonalSetting.js @@ -127,7 +127,7 @@ const PersonalSetting = () => { } setLoading(true); const res = await API.get( - `/api/verification?email=${inputs.email}&turnstile=${turnstileToken}` + `/api/user/verification?email=${inputs.email}&turnstile=${turnstileToken}` ); const { success, message } = res.data; if (success) {