Spring boot 3 에서 JWT 사용하기 위한 필요 코드들 분석. 코드 순서는 당연히 JWT 토큰 발급 과정 순서부터 Decode 순서로 이어진다.
JWT 라이브러리는 com.auth0.jwt 을 사용한다.
HttpSecurity
가장 기본적인 양식 기반 구성은 아래에서 볼 수 있습니다. 구성에서는 요청된 모든 URL에 "ROLE_USER" 역할을 가진 사용자가 필요하도록 요구합니다. 또한 사용자 이름이 "user", 비밀번호가 "password", 역할이 "ROLE_USER"인 사용자를 사용하여 메모리 내 인증 체계를 정의합니다.
@Configuration
@EnableWebSecurity
public class FormLoginSecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests().requestMatchers("/**").hasRole("USER").and().formLogin();
return http.build();
}
@Bean
public UserDetailsService userDetailsService() {
UserDetails user = User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);