accept email on login
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user