Browse Source

用户模块:重置密码链接失效判断

tangxiangan 2 years ago
parent
commit
828b8c93cb

+ 3 - 1
backend-core/src/main/java/cn/kdan/pdf/backend/core/constant/AuthConstant.java

@@ -114,7 +114,9 @@ public interface AuthConstant {
 
     Long VERIFY_CODE_KEY_EXPIRE_TIME = 15 * 60L;
 
-    Long VERIFY_CODE_KEY_RESEND_TIME = 60L;
+    Long VERIFY_CODE_KEY_EXPIRE_TIME_FORGET = 15 * 60L;
+
+    Long VERIFY_CODE_KEY_RESEND_TIME = 30 * 60L;
 
     String VERIFY_CODE_SEND_TOO_QUICKLY = "您的操作过于频繁,请稍后再试";
 

+ 3 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/AuthServiceImpl.java

@@ -228,6 +228,9 @@ public class AuthServiceImpl implements AuthService {
         //存入缓存
         if (flag) {
             redisUtils.hset(AuthConstant.VERIFY_CODE_KEY + action.value(), receiver, code, AuthConstant.VERIFY_CODE_KEY_EXPIRE_TIME);
+            if (CaptchaActionEnum.FORGET_PASSWORD.value().equals(action.value())) {
+                redisUtils.hset(AuthConstant.VERIFY_CODE_KEY + action.value(), receiver, code, AuthConstant.VERIFY_CODE_KEY_EXPIRE_TIME);
+            }
             //再次发送计时
             redisUtils.hset(AuthConstant.VERIFY_CODE_TIME_OUT + action.value(), receiver, "1", AuthConstant.VERIFY_CODE_KEY_RESEND_TIME);
         }

+ 3 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -415,6 +415,9 @@ public class MemberServiceImpl implements MemberService {
             //根据code和邮箱验证用户
             if (!authService.checkVerifyCode(CaptchaActionEnum.FORGET_PASSWORD.value(), params.getAccount(), params.getVerifyCode())) {
                 throw new BackendRuntimeException(AuthConstant.EXCEPTION_MSG_RESET_PASSWORD_ERROR);
+            }else {
+                // 验证成功删除验证码缓存
+                redisUtils.hdel(AuthConstant.VERIFY_CODE_KEY + CaptchaActionEnum.FORGET_PASSWORD.value(), params.getAccount());
             }
             example.createCriteria().andEmailEqualTo(params.getAccount());
         }