fix: email verification should enable back for registrated users

This commit is contained in:
ckt1031 2023-07-30 12:22:20 +08:00
parent d807299776
commit 818f612ee2
3 changed files with 9 additions and 4 deletions

View File

@ -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": "管理员关闭了新用户注册",

View File

@ -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)

View File

@ -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) {