accept email on login

This commit is contained in:
2026-04-21 17:48:10 -06:00
parent 8786cae3f8
commit e0505cbaaa

View File

@@ -143,11 +143,16 @@ public class AuthController {
@PostMapping("/login")
public ResponseEntity<LoginResponse> login(@Valid @RequestBody LoginRequest request) {
try {
String identifier = request.getUsername();
String resolvedUsername = identifier != null && identifier.contains("@")
? userRepository.findByEmail(identifier).map(User::getUsername).orElse(identifier)
: identifier;
authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(request.getUsername(), request.getPassword())
new UsernamePasswordAuthenticationToken(resolvedUsername, request.getPassword())
);
User user = userRepository.findByUsername(request.getUsername())
User user = userRepository.findByUsername(resolvedUsername)
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
String token = jwtUtil.generateToken(user);