修复导致首次登录时注册失败的问题

This commit is contained in:
2026-02-26 14:47:36 +08:00
parent dfbb3a9acc
commit 7a3c47f1d4

View File

@@ -353,6 +353,9 @@ func authPassword(c *fiber.Ctx, auth *AuthCtx, req *TokenReq, now time.Time) (*m
admin.LastLogin = u.P(time.Now()) admin.LastLogin = u.P(time.Now())
admin.LastLoginIP = ip admin.LastLoginIP = ip
admin.LastLoginUA = ua admin.LastLoginUA = ua
default:
return nil, ErrAuthorizeInvalidRequest
} }
// 生成会话 // 生成会话
@@ -364,12 +367,7 @@ func authPassword(c *fiber.Ctx, auth *AuthCtx, req *TokenReq, now time.Time) (*m
AccessToken: uuid.NewString(), AccessToken: uuid.NewString(),
AccessTokenExpires: now.Add(time.Duration(env.SessionAccessExpire) * time.Second), AccessTokenExpires: now.Add(time.Duration(env.SessionAccessExpire) * time.Second),
} }
if user != nil {
session.UserID = &user.ID
}
if admin != nil {
session.AdminID = &admin.ID
}
if req.Remember { if req.Remember {
session.RefreshToken = u.P(uuid.NewString()) session.RefreshToken = u.P(uuid.NewString())
session.RefreshTokenExpires = u.P(now.Add(time.Duration(env.SessionRefreshExpire) * time.Second)) session.RefreshTokenExpires = u.P(now.Add(time.Duration(env.SessionRefreshExpire) * time.Second))
@@ -377,18 +375,20 @@ func authPassword(c *fiber.Ctx, auth *AuthCtx, req *TokenReq, now time.Time) (*m
// 保存用户更新和会话 // 保存用户更新和会话
err = q.Q.Transaction(func(tx *q.Query) error { err = q.Q.Transaction(func(tx *q.Query) error {
if err := SaveSession(tx, session); err != nil {
return err
}
if user != nil { if user != nil {
if err := tx.User.Save(user); err != nil { if err := tx.User.Save(user); err != nil {
return err return err
} }
session.UserID = &user.ID
} }
if admin != nil { if admin != nil {
if err := tx.Admin.Save(admin); err != nil { if err := tx.Admin.Save(admin); err != nil {
return err return err
} }
session.AdminID = &admin.ID
}
if err := SaveSession(tx, session); err != nil {
return err
} }
return nil return nil
}) })