Merge pull request #213 from nagisa77/codex/add-email-recovery-for-missing-username

Allow login with email fallback
This commit is contained in:
Tim
2025-07-15 14:46:28 +08:00
committed by GitHub
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.getUsername());
if (userOpt.isEmpty()) {
userOpt = userService.findByEmail(req.getUsername());
}
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);
}