springjwt

Generating JWT token with JwtUtil class in Spring Boot resulting in NullPointerException


main dashboard main dashboardmain dashboardmain dashboardmain dashboardmain dashboardmain dashboard

main dashboard main dashboardmain dashboardmain dashboardmain dashboardmain dashboardmain dashboard

main dashboard main dashboardmain dashboardmain dashboardmain dashboardmain dashboardmain dashboard main dashboard main dashboardmain dashboardmain dashboardmain dashboardmain dashboardmain dashboard

sonar.sourceEncoding=UTF-8
sonar.projectKey=APT_JOB
sonar.projectName=APT_JOB
sonar.projectVersion=1.0
sonar.language=py

sonar.modules=CII_BANKING_cashflow_analysis_sta

sonar.projectBaseDir=/var/jenkins_home/workspace/APT_JOB
sonar.relative_files=True

# Exclude setup.py and tests folder
sonar.global.exclusions=**/CII_BANKING_cashflow_analysis_sta/tests/**


# CII_BANKING_cashflow_analysis_sta
CII_BANKING_cashflow_analysis_sta.sonar.projectBaseDir=/var/jenkins_home/workspace/APT_JOB/CII_BANKING_cashflow_analysis_sta
CII_BANKING_cashflow_analysis_sta.sonar.projectKey=CII_BANKING_cashflow_analysis_sta
CII_BANKING_cashflow_analysis_sta.sonar.projectName=CII_BANKING_cashflow_analysis_sta
CII_BANKING_cashflow_analysis_sta.sonar.sources=/var/jenkins_home/workspace/APT_JOB/CII_BANKING_cashflow_analysis_sta

sonar.python.coverage.reportPaths=/var/jenkins_home/workspace/APT_JOB/coverage_cicd/coverage.xml

Solution

  • in class: public class MySecurityConfig extends WebSecurityConfigurerAdapter the WebSecurityConfigurerAdapter is deprecated, instead you can create class like this:

    @Configuration
    @EnableWebSecurity
    public class WebSecurityConfig {
        
        @Bean
        BCryptPasswordEncoder bCryptPasswordEncoder() {
            return new BCryptPasswordEncoder();
        }
        
        @Bean
        SecurityFilterChain filterChain(HttpSecurity http)throws Exception{
            http.authorizeHttpRequests(authz -> authz
                    .requestMatchers(HttpMethod.GET,"/testAPI").permitAll()
                    .requestMatchers("").permitAll()
                    .anyRequest().authenticated())
            .httpBasic(Customizer.withDefaults());
            return http.build();
        }
        
        @Bean
        UserDetailsService userDetailsService() {
            InMemoryUserDetailsManager userDetailsService = new 
        InMemoryUserDetailsManager();
            UserDetails userDetails = User
                    .withUsername("vinod")
                    .password(bCryptPasswordEncoder().encode("singh"))
                    .authorities("read").build();
            userDetailsService.createUser(userDetails);
            return userDetailsService;
        }
    
    }