From e0505cbaaa20e81fd6720f3b17dba2c35cbdeba6 Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Tue, 21 Apr 2026 17:48:10 -0600 Subject: [PATCH] accept email on login --- .../com/petshop/backend/controller/AuthController.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/petshop/backend/controller/AuthController.java b/backend/src/main/java/com/petshop/backend/controller/AuthController.java index ecbaea8d..1efd0b98 100644 --- a/backend/src/main/java/com/petshop/backend/controller/AuthController.java +++ b/backend/src/main/java/com/petshop/backend/controller/AuthController.java @@ -143,11 +143,16 @@ public class AuthController { @PostMapping("/login") public ResponseEntity 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);