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
UserDetailsServicebean inSecurityConfig - Created a default user if one doesn't already exist