Fix: invalidate user when change password or set user as inactive (#19186)

This commit is contained in:
Wang Qi
2026-09-03 10:09:57 +08:00
committed by GitHub
parent 8ce24ef7b8
commit a997a1bd77
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -773,6 +773,10 @@ func (s *Service) UpdateUserActivateStatus(ctx context.Context, username string,
}
user.IsActive = targetStatus
if !isActive {
invalidToken := "INVALID_" + utility.GenerateToken()
user.AccessToken = &invalidToken
}
if err = s.userDAO.Update(ctx, dao.DB, user); err != nil {
return fmt.Errorf("failed to update user: %w", err)
+4
View File
@@ -781,6 +781,8 @@ func (s *UserService) UpdateUserSettings(ctx context.Context, user *entity.User,
return common.CodeExceptionError, err
}
user.Password = &hashedPassword
invalidToken := "INVALID_" + utility.GenerateToken()
user.AccessToken = &invalidToken
}
}
if req.Nickname != nil {
@@ -827,6 +829,8 @@ func (s *UserService) ChangePassword(ctx context.Context, user *entity.User, req
return common.CodeServerError, fmt.Errorf("failed to hash new password: %w", err)
}
user.Password = &hashedPassword
invalidToken := "INVALID_" + utility.GenerateToken()
user.AccessToken = &invalidToken
}
// Save updated user