JWT Authentication Filter Part 2

Create the User

First, let's declare the UserDetailsService bean in SecurityConfig, but let's also add a check, creating a user if they don't exist:

@Configuration public class SecurityConfig { @Bean public UserDetailsService userDetailsService(UserRepository userRepository) { BlogUserDetailsService blogUserDetailsService = new BlogUserDetailsService(userRepository); String email = "user@test.com"; userRepository.findByEmail(email).orElseGet(() -> { User newUser = User.builder() .name("Test User") .email(email) .password(passwordEncoder().encode("password")) .build(); return userRepository.save(newUser); }); return blogUserDetailsService; } }

With this we should now be able to log in to our application using the credentials user@test.com and password.

Summary

  • Declared UserDetailsService bean in SecurityConfig
  • Created a default user if one doesn't already exist
© 2026 Devtiro Ltd. All rights reserved