저희 시스템에서는 사용자와 기업 사용자 간의 인증 절차를 다루는데, /auth/login
경로를 통한 일반 사용자 로그인은 잘 작동하였으나, /auth/cp-login
경로를 통한 기업 사용자 로그인 시 JWT 토큰이 헤더에 포함되지 않는 문제가 발생했습니다. 이로 인해 기업 사용자는 시스템 리소스에 접근할 수 없는 문제가 있었습니다.
해결 과정
JwtAuthenticationFilter
클래스를 분석한 결과, 필터가 /auth/login
경로에만 적용되어 있었음을 확인했습니다.JwtAuthenticationFilter
의 requiresAuthentication
메서드를 오버라이드하여 /auth/login
과 /auth/cp-login
두 경로 모두에서 필터가 작동하도록 조건을 추가했습니다.기술적 성과
이 변경으로 인해, 시스템의 인증 로직이 한결 간결해졌으며, 보안 레이어의 일관성이 향상되었습니다. 또한, 다양한 인증 경로에 대한 지원이 가능해져 시스템의 확장성과 유지관리가 용이해졌습니다. 이 경험을 통해 스프링 시큐리티와 JWT 기반 인증 시스템에 대한 깊은 이해를 가지게 되었음을 보여주며, 실제 운영 환경에서 발생할 수 있는 문제를 신속하게 해결할 수 있는 능력을 강조합니다.
결론
이 프로젝트를 통해 저는 복잡한 인증 시스템에서의 문제를 식별하고 해결함으로써, 안정적인 사용자 인증 흐름을 보장하는 것의 중요성을 다시 한번 깨달았습니다.