This commit is contained in:
2026-01-27 03:13:15 -08:00
parent 5def1cf6d8
commit 48c92ea374
36 changed files with 1189 additions and 123 deletions
+31
View File
@@ -39,6 +39,18 @@ func NewEmailLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *EmailL
}
func (l *EmailLoginLogic) EmailLogin(req *types.EmailLoginRequest) (resp *types.LoginResponse, err error) {
// 打印请求参数
l.Infow("EmailLogin 请求参数",
logger.Field("email", req.Email),
logger.Field("code", req.Code),
logger.Field("identifier", req.Identifier),
logger.Field("invite", req.Invite),
logger.Field("ip", req.IP),
logger.Field("user_agent", req.UserAgent),
logger.Field("login_type", req.LoginType),
logger.Field("cf_token", req.CfToken),
)
loginStatus := false
var userInfo *user.User
var isNewUser bool
@@ -234,10 +246,14 @@ func (l *EmailLoginLogic) EmailLogin(req *types.EmailLoginRequest) (resp *types.
if uidStr == fmt.Sprintf("%d", userInfo.Id) {
sessionId = oldSid
reuseSession = true
// Check TTL
ttl, _ := l.svcCtx.Redis.TTL(l.ctx, oldSessionKey).Result()
l.Infow("reusing existing session for device",
logger.Field("user_id", userInfo.Id),
logger.Field("identifier", req.Identifier),
logger.Field("session_id", sessionId),
logger.Field("session_ttl", ttl.Seconds()),
)
} else {
l.Infow("device session belongs to different user, creating new session",
@@ -285,6 +301,21 @@ func (l *EmailLoginLogic) EmailLogin(req *types.EmailLoginRequest) (resp *types.
_ = l.svcCtx.Redis.Set(l.ctx, deviceCacheKey, sessionId, time.Duration(l.svcCtx.Config.JwtAuth.AccessExpire)*time.Second).Err()
}
// 登录成功 - 打印详细信息用于调试
l.Infow("========== 邮箱登录成功 ==========",
logger.Field("user_id", userInfo.Id),
logger.Field("identifier", req.Identifier),
logger.Field("device_id", deviceId),
logger.Field("session_id", sessionId),
logger.Field("reuse_session", reuseSession),
logger.Field("login_type", req.LoginType),
logger.Field("login_ip", req.IP),
logger.Field("user_agent", req.UserAgent),
logger.Field("session_limit", l.svcCtx.SessionLimit()),
logger.Field("auth_methods_count", len(userInfo.AuthMethods)),
logger.Field("devices_count", len(userInfo.UserDevices)),
)
loginStatus = true
return &types.LoginResponse{
Token: token,