Spring
2 posts
Spring Security login 구현

Bottle-letter 프로젝트 기록 Spring Security를 사용해 로그인을 구현하며 Filter를 이용한 방식과 Argument Resolver를 이용한 방식을 알아봤다. Filter를 이용한 로그인 먼저Spring Security의 동작 원리와 구조를 이해해보자. https://spring.io/guides/topicals/spring-security-architecture/ 공식 레퍼런스에 잘 정리가 되어 있지만 간단히 설명을 해보자. 요청이 오면 Spring Security의 FilterChain이 가로챈다. Authentication 객체를 생성해서 security context에 저장하는데, 이 과정을 간략히 요약하자면 UsernamePasswordAuthenticationFilter 앞에 커스텀한 JwtFilter를 생성한다. 커스텀 필터에서는 헤더의 jwt Token을 파싱하여 분석하고 인증한다. Security에서 제공하는 와 같은 인터페이스를 구현한다…

August 29, 2023
Spring
Spring docs 적용 중 문제

Bottle-letter 프로젝트 기록 Spring docs 적용 Spring Docs는 Swagger와 같이 API docs를 생성해주는 라이브러리다. 다른점은 Spring docs는 테스트 코드를 통해 작성된다. Swagger는 Controller를 스캔하고 자동으로 생성해주며, 타이틀과 같은 커스텀 설정은 코드에 함께 기재하게 된다. (보통 어노테이션 방식) Spring Docs는 테스트 코드에 API 스펙을 작성하고, asciidoctor를 통해 adoc 파일을 생성하고 html로 변환하여 문서가 작성된다. 쉽게 말해, 테스트 코드를 통해 HTTP spec이 작성되고, 이를 원하는 대로 문서에 삽입하여 문서를 생성한다. 상용 코드에 영향을 주지 않는다 커스텀 하기 용이하다 테스트를 강제한다. 이런 장점을 가졌다. 3가지 모두 굉장히 매력적인 장점이라 Swagger보다 Spring docs를 선택하게 됐다. 문제 적용 방법은 쉽게 찾을 수 있다. build.gradles.kt…

August 06, 2023
Spring