본문 바로가기
반응형

Spring Security5

카카오 OAuth2.0 적용하기 - 1 게시판 프로젝트를 진행하면서 너무나도 많이 사용되는 OAuth 기능을 사용해보고자 KaKao OAuth2.0을 적용하여 사용자 인증 서비스를 제공하려고 한다. 프로젝트에 도입하면서 과정을 기록해놔야 다음에 적용할 때 참고하기 좋을 것 같다! ( 꽤 길다..) 그럼 순차적으로 진행해 보겠다. 이 글은 Spring Security에 OAuth2.0을 적용하는 과정이며 OAuth2.0의 작동원리나 자세한 스펙은 KaKao Developers의 문서를 꼭꼭 참고하길 바란다. -정말 자세히 친절하게 설명되어 있음. + full code change는 github pr을 참조하면 좋을 것 같다. 1. KaKao Developers에서 카카오 API를 사용하기 위한 설정 진행. 1.1 애플리케이션 등록하기 카카오 디.. 2023. 1. 9.
Spring Security와 CORS 에러 대응 이전 글에 이어서 CORS가 또 발생하였다. 이전에는 어찌어찌 해결했었지만, 프론트 쪽에 웹 도메인을 부여하고 나서 다시 발생하였다. 확실하게 HTTP 통신을 이해하고 있지 못했던 것 같다. 여기서 나오는 용어나 개념은 이전글을 참고하거나, 검색해보시길 바랍니다.! 1. 재 발생 이유 스프링 시큐리티 FilterChain에 cors를 활성화하고, cors에 allow origin, method, header를 설정하였다. 이렇게 설정을 해놓으니, 프론트 팀 로컬에서 작업하던 localhost:3000에 대한 요청은 cors가 발생하지 않고 잘 해결되었었다. 그런데, Stage 서버에서 Swagger가 작동하지 않아 알아본 결과, Filter에서 AllowOrigin에 도메인을 적지 않았기 때문이었다. /.. 2023. 1. 3.
Spring Security 환경에서 테스트 통과하는 방법 프로젝트를 진행하면서 Spring Security를 도입하여 JwtTokenFilter를 만들어 놓고 사용하면서 인증 및 인가, Method Security의 작동원리, 통합 테스트 진행 시 사용자 인증 등 내부적으로 사용자 인증이 어떻게 진행되는지 몰라 힘들었던 경험이 있어 작동원리를 알아보고 정리하도록 한다. 스프링 시큐리티 필터 작동원리는 이전 글 참고. 스프링 부트와 스프링 시큐리티 버전 spring-boot:2.6.8 spring-security-core:5.6.5 간단하게 우리 프로젝트에서 사용한 설정을 보면 @EnableWebSecurity 어노테이션을 사용하여 SpringSecurityFilterChain에 등록할 수 있고 SecurityFilterChain을 반환하는 filterChain.. 2022. 11. 24.
Spring Security 작동 원리 Spring Security를 사용하면서 Filter나 사용자 인증, 인가 과정이 명확하지 않아 헷갈렸던 부분들이 있어 정리하도록 한다. 제대로 알고 사용하자!! Spring Security는 FilterChain을 Servlet Container 기반의 필터 위에서 동작시키기 위해 DelegatingFilterProxy라는 클래스를 이용한다. DelegatingFilterProxy는 IoC 컨테이너에서 관리하는 빈이 아닌 표준 서블릿 필터를 구현하고 있으며 내부에 위임대상(FilterChainProxy)을 가지고 있다. 따라서 DelegatingFilterProxy는 표준 서블릿 컨테이너와 Spring IoC 컨테이너의 다리 역할을 한다고 보면 된다. 즉, DelegatingFilterProxy는 서블.. 2022. 11. 23.
반응형