문제 상황 현재 앱 개발을 위해 로그인 개발을 진행 중이며, 사용자 로그인 유지를 위해 세션을 이용하고 있다. 세션에는 다양한 설정 값이 있는데, 로그인 유지 시간을 바꾸기 위해 spring_session 테이블에서의 max_inactive_interval을 변경하고자 했다. 하지만 spring에서의 session의 유지 시간을 변경하는 코드가 2개가 있었으며, 어떤 코드를 application.yml 파일에 작성해야 할지 감이 잡히지 않아 공부하는 계기가 됐다. 차이점 두 코드 모두 세션 타임아웃을 설정하는 속성이라는 공통점이 있지만, 사용되는 목적이 다르다. server.servlet.session.timeout(내장 서버의 세션) 내장 톰캣, 제티, 언더토우 등의 서블릿 컨테이너의 세션 타임아웃을..
개발을 하면서 Postman으로 Post method를 테스트 하려고 하는 중에 있었다. 하지만 Get method는 잘 호출되는 반면, Post method의 경우 다음과 같은 에러가 발생했다. 문제가 일어난 이유는 다음과 같았다. Spring Security는 기본적으로 CSRF 보호를 활성화합니다. CSRF 토큰이 요청에 포함되지 않은 경우 "403 Forbidden" 오류가 발생합니다. Postman에서 요청을 보낼 때 CSRF 토큰을 포함했는지 확인해야 합니다. 하지만 현재 프로젝트에서 CSRF 토큰을 사용하고 있지 않기 때문에, disable로 해당 문제를 해결해줬다. 변경 전 @Bean public SecurityFilterChain filterChain(HttpSecurity http) t..
구글 소셜 로그인을 구현을 하고, 실제 서버를 실행한 후에 로그인을 진행하려고 계정을 클릭하면 아래와 같은 에러가 발생했다. 왜 에러가 발생하는지에 대해 이해를 할 수 없었는데... 구글링을 해보니 다음과 같은 문제가 있었다. 인증/인가 구현을 하면서, 잘 구현이 되는지 확인하기 위해 일단 anyRequest().permitAll() 을 했었는데 해당 부분에 대해 OAuth2 Filter를 거치지 않아 코드가 원하는 대로 실행지 되지 않았던 것이다. 따라서 위와 같이 OAuth2 Filter를 거칠 수 있도록 .anyRequest().authenticated() 로 코드를 변경했다. 로그인이 잘 되는 것을 확인할 수 있었다! 참고 블로그 https://ryumodrn.tistory.com/29 [OAut..