메인 프로젝트에서 Spring Security, JWT를 맡게 되었다
Spring Security 설정과 기본 구현을 하고, JWT로 열심히 로그인 Token관련 코드를 짜고 나서 포스트 맨으로 중간 확인을 하는데
회원가입에서 401에러가 나왔다.
401 Unauthorized
는 이름 때문에 인가
,권한
문제 같지만 요청에 인증 자격이 없다는 것이다
하지만 로그인에서 인증 자격이 없는 것도 아니고 회원가입에서 401로 막히는게 너무 의문이었다
일단 인증이 안된다니 JWT토큰에 생각이 머물렀는데, 토큰은 로그인 시 생성 되는 것 아닌가?
그래서 Security로 갔다, SecurityConfiguration을 열심히 들여다보고 있는데...
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
...
}
허전한filterChain()
... 바로 @Bean
애너테이션으로 ApplicationContext에 Bean객체로 등록해주지 않아서 그랬던 거였다🎊
당연히 SecurityFilter자체가 스프링에 빈으로 등록되지 않았으니 Spring Security 회원가입이 안됐던 것이다.
결국 @Bean
을 추가해주고 해결 완료 했다!
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
...
}