Allow login via email

This commit is contained in:
Tim
2025-07-15 14:45:39 +08:00
parent 59f03f4f13
commit 34edbefc62
2 changed files with 7 additions and 0 deletions

View File

@@ -69,6 +69,9 @@ public class AuthController {
return ResponseEntity.badRequest().body(Map.of("error", "Invalid captcha"));
}
Optional<User> userOpt = userService.findByUsername(req.getUsernameOrEmail());
if (userOpt.isEmpty()) {
userOpt = userService.findByEmail(req.getUsernameOrEmail());
}
if (userOpt.isEmpty() || !userService.matchesPassword(userOpt.get(), req.getPassword())) {
return ResponseEntity.badRequest().body(Map.of(
"error", "Invalid credentials",

View File

@@ -102,6 +102,10 @@ public class UserService {
return userRepository.findByUsername(username);
}
public Optional<User> findByEmail(String email) {
return userRepository.findByEmail(email);
}
public Optional<User> findById(Long id) {
return userRepository.findById(id);
}