Вариант 1: вам может понадобиться передать emailId в имени пользователя и поле и использовать emailId для проверки в вашем пользовательском UserDetailsService
Вариант 2, вам нужно иметь некоторое сопоставление, с помощью которого вы можете получить emailId из поле имени пользователя.
@Component
public class AppUserDetailsService implements UserDetailsService{
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
User user = userRepository.findByEmailId(s.toLowerCase());
if(user == null) {
throw new UsernameNotFoundException(String.format("The username %s doesn't exist", s));
}
List<GrantedAuthority> authorities = new ArrayList<>();
authorities.add(new SimpleGrantedAuthority("STANDARD_USER"));
UserDetails userDetails = new org.springframework.security.core.userdetails.User(user.getEmailId(), user.getPassword(), authorities);
return userDetails;
}
}