2024.08 - 2025.02
Okta API 기반의 SSO/SLO 필터 서비스를 개발하고, 고객사 인사 정보와 솔루션 계정 간의 동기화(Sync) 로직을 구현하여 사용자 관리를 자동화했습니다. 또한 Interceptor를 활용한 메뉴별 접근 제어(RBAC) 기능을 구현하여 보안성을 강화했습니다.
레거시 플러그인 한계를 극복한 맞춤형 인증/로그아웃 아키텍처
기존 SAML 플러그인의 Spring Boot 비호환 이슈
Servlet Filter 기반 토큰 검증 직접 구현
세션 생성, 갱신, 만료 일원 관리
고객사 인사정보 ↔ 솔루션 계정 자동 동기화
Global Session Invalidation
Okta 세션과 로컬 세션 동시 파기
Redirect Chain Control
로그아웃 후 안전한 리다이렉트 경로 보장
플러그인 의존 없는 완전 자체 구현 인증 체계
Okta API 직접 연동으로 플러그인 취약점 제거
인사 DB 연동 자동 계정 Sync로 수동 관리 공수 제로화
신규 IdP 연동 시 Filter 교체만으로 대응 가능
사내 메시징 관리 솔루션의 레거시(Legacy) 버전과 최신 Okta에서 제공하는 플러그인(Plugin) 간의 JDK 호환성 충돌 이슈가 발생했습니다. 이로 인해 기성 라이브러리에 의존하지 않고 별도의 HTTP 통신 소스를 직접 개발하여 SSO(Single Sign-On) 로그인을 연동해야 하는 중대한 아키텍처 과제가 부여되었습니다.
보안 및 비즈니스 로직의 우선순위를 고려하여, 애플리케이션 진입점인 스프링 시큐리티(Spring Security) 필터(Filter) 체인이 동작하기 직전에 Okta 인증 점검이 선행되도록 커스텀 필터(Custom Filter) 단계를 추가 설계했습니다.
이후 구현체 구체화 과정에서 향후 다른 벤더사의 SSO Agent 요구사항이 추가될 것에 대비해, 인증 수행에 필요한 필수 기능을 서비스 인터페이스(Service Interface)로 추상화하여 구현함으로써 높은 시스템 호환성 및 확장성(Scalability)을 확보했습니다.
플러그인 버전 충돌이라는 인프라적 제약을 유연한 애플리케이션 아키텍처(Application Architecture) 설계로 극복했습니다. 이 커스텀 필터 구조를 통해 향후 새로운 인증 프로토콜이나 SSO 솔루션 도입 시에도 추가적인 코어 코드 수정 없이 인터페이스 단위 대응만으로 즉시 적용 가능한 유연한 인증 체계를 완성했습니다.