View Javadoc
1   package com.codecool.bytebattlers.config;
2   
3   import com.codecool.bytebattlers.service.AppUserDetailService;
4   import lombok.RequiredArgsConstructor;
5   import org.springframework.context.annotation.Bean;
6   import org.springframework.context.annotation.Configuration;
7   import org.springframework.security.authentication.AuthenticationManager;
8   import org.springframework.security.authentication.AuthenticationProvider;
9   import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
10  import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
11  import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
12  import org.springframework.security.crypto.password.PasswordEncoder;
13  
14  @Configuration
15  @RequiredArgsConstructor
16  public class ApplicationConfig {
17  
18      private final AppUserDetailService appUserDetailService;
19  
20      @Bean
21      public AuthenticationProvider authenticationProvider() {
22          DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
23          authProvider.setUserDetailsService(appUserDetailService);
24          authProvider.setPasswordEncoder(passwordEncoder());
25          return authProvider;
26      }
27  
28      @Bean
29      public AuthenticationManager manager(AuthenticationConfiguration config) throws Exception {
30          return config.getAuthenticationManager();
31      }
32  
33      @Bean
34      public PasswordEncoder passwordEncoder() {
35          return new BCryptPasswordEncoder();
36      }
37  }