15ttl
Build docker and publish / build (20.15.1) (push) Successful in 6m0s

This commit is contained in:
2026-01-09 00:43:52 -08:00
parent 7b33ab6e2a
commit d45f4417ed
7 changed files with 24 additions and 12 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ func (l *EmailLoginLogic) EmailLogin(req *types.EmailLoginRequest) (resp *types.
if err := json.Unmarshal([]byte(value), &payload); err != nil { if err := json.Unmarshal([]byte(value), &payload); err != nil {
continue continue
} }
if payload.Code == req.Code && time.Now().Unix()-payload.LastAt <= 600 { if payload.Code == req.Code && time.Now().Unix()-payload.LastAt <= 900 {
verified = true verified = true
cacheKeyUsed = cacheKey cacheKeyUsed = cacheKey
break break
+8 -3
View File
@@ -79,9 +79,14 @@ func (l *ResetPasswordLogic) ResetPassword(req *types.ResetPasswordRequest) (res
l.Errorw("Unmarshal errors", logger.Field("cacheKey", cacheKey), logger.Field("error", err.Error()), logger.Field("value", value)) l.Errorw("Unmarshal errors", logger.Field("cacheKey", cacheKey), logger.Field("error", err.Error()), logger.Field("value", value))
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "Verification code error") return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "Verification code error")
} }
if payload.Code != req.Code || time.Now().Unix()-payload.LastAt > 600 { if payload.Code != req.Code {
l.Errorw("Verification code error", logger.Field("cacheKey", cacheKey), logger.Field("error", "Verification code error or expired"), logger.Field("reqCode", req.Code), logger.Field("payloadCode", payload.Code)) l.Errorw("Verification code error", logger.Field("cacheKey", cacheKey), logger.Field("error", "Verification code error"), logger.Field("reqCode", req.Code), logger.Field("payloadCode", payload.Code))
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "Verification code error or expired") return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "Verification code error")
}
// 校验有效期(15分钟)
if time.Now().Unix()-payload.LastAt > 900 {
l.Errorw("Verification code expired", logger.Field("cacheKey", cacheKey), logger.Field("error", "Verification code expired"), logger.Field("reqCode", req.Code), logger.Field("payloadCode", payload.Code))
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code expired")
} }
l.svcCtx.Redis.Del(l.ctx, cacheKey) l.svcCtx.Redis.Del(l.ctx, cacheKey)
} }
+6 -2
View File
@@ -74,8 +74,12 @@ func (l *UserRegisterLogic) UserRegister(req *types.UserRegisterRequest) (resp *
l.Errorw("Unmarshal Error", logger.Field("error", err.Error()), logger.Field("value", value)) l.Errorw("Unmarshal Error", logger.Field("error", err.Error()), logger.Field("value", value))
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error") return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error")
} }
if payload.Code != req.Code || time.Now().Unix()-payload.LastAt > 600 { if payload.Code != req.Code {
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error or expired") return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error")
}
// 校验有效期(15分钟)
if time.Now().Unix()-payload.LastAt > 900 {
return nil, errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code expired")
} }
l.svcCtx.Redis.Del(l.ctx, cacheKey) l.svcCtx.Redis.Del(l.ctx, cacheKey)
} }
+2 -2
View File
@@ -91,7 +91,7 @@ func (l *SendEmailCodeLogic) SendEmailCode(req *types.SendCodeRequest) (resp *ty
"Type": req.Type, "Type": req.Type,
"SiteLogo": l.svcCtx.Config.Site.SiteLogo, "SiteLogo": l.svcCtx.Config.Site.SiteLogo,
"SiteName": l.svcCtx.Config.Site.SiteName, "SiteName": l.svcCtx.Config.Site.SiteName,
"Expire": 5, "Expire": 15,
"Code": code, "Code": code,
} }
// Save to Redis // Save to Redis
@@ -101,7 +101,7 @@ func (l *SendEmailCodeLogic) SendEmailCode(req *types.SendCodeRequest) (resp *ty
} }
// Marshal the payload // Marshal the payload
val, _ := json.Marshal(payload) val, _ := json.Marshal(payload)
if err = l.svcCtx.Redis.Set(l.ctx, cacheKey, string(val), time.Minute*10).Err(); err != nil { if err = l.svcCtx.Redis.Set(l.ctx, cacheKey, string(val), time.Minute*15).Err(); err != nil {
l.Errorw("[SendEmailCode]: Redis Error", logger.Field("error", err.Error()), logger.Field("cacheKey", cacheKey)) l.Errorw("[SendEmailCode]: Redis Error", logger.Field("error", err.Error()), logger.Field("cacheKey", cacheKey))
return nil, errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to set verification code") return nil, errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to set verification code")
} }
@@ -66,8 +66,8 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi
if err := json.Unmarshal([]byte(value), &p); err != nil { if err := json.Unmarshal([]byte(value), &p); err != nil {
continue continue
} }
// 校验验证码及有效期(10分钟) // 校验验证码及有效期(15分钟)
if p.Code == req.Code && time.Now().Unix()-p.LastAt <= 600 { if p.Code == req.Code && time.Now().Unix()-p.LastAt <= 900 {
_ = l.svcCtx.Redis.Del(l.ctx, cacheKey).Err() _ = l.svcCtx.Redis.Del(l.ctx, cacheKey).Err()
verified = true verified = true
break break
@@ -50,8 +50,11 @@ func (l *VerifyEmailLogic) VerifyEmail(req *types.VerifyEmailRequest) error {
l.Errorw("Redis Error", logger.Field("error", err.Error()), logger.Field("cacheKey", cacheKey)) l.Errorw("Redis Error", logger.Field("error", err.Error()), logger.Field("cacheKey", cacheKey))
return errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error") return errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error")
} }
if payload.Code != req.Code || time.Now().Unix()-payload.LastAt > 600 { if payload.Code != req.Code { // 校验有效期(15分钟)
return errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error or expired") return errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code error")
}
if time.Now().Unix()-payload.LastAt > 900 {
return errors.Wrapf(xerr.NewErrCode(xerr.VerifyCodeError), "code expired")
} }
l.svcCtx.Redis.Del(l.ctx, cacheKey) l.svcCtx.Redis.Del(l.ctx, cacheKey)
BIN
View File
Binary file not shown.