-
[Spring Security] Security Oauth2 설정에서 custom OAuth2UserService가 실행하지 않는 이슈스프링 2022. 7. 23. 16:20
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http .oauth2Login() .authorizationEndpoint() .baseUri("/oauth2/authorization") .authorizationRequestRepository(cookieAuthorizationRequestRepository()) .and() .redirectionEndpoint() .baseUri("/*/oauth2/code/*") .and() .userInfoEndpoint() .userService(customOAuth2UserService) .and() .failureHandler(oAuth2AuthenticationFailureHandler()) .and() .build(); }
구글 권한서버로부터 받은 유저정보를 DB에 저장하기 위해
DefaultOAuth2UserService를 상속받아 커스텀한 OAuth2UserService를 spring security config에 등록하였다.
그런데 구글 로그인을 성공하여 유저 정보를 받았음에도 커스텀한 OAuth2UserService가 실행되지 않았다.
security: oauth2: client: registration: google: scope: - email - profile
application.yml에 위와같이 scope 항목에 email 또는 profile이 입력되어있어야 custom service가 실행되어진다.
아직 scope와 custom service의 관계가 어떻게 되어있고 왜 입력을 안하면 실행이 안되는지는 더 알아봐야겠지만
확실한 건 저걸 입력하지 않으면 custom service는 실행되지 않는 것 같다.
'스프링' 카테고리의 다른 글
AOP(Aspect-Oriented Programming)란? - 스프링 AOP와 프록시 (0) 2022.09.07 [Spring Security] UsernamePasswordAuthenticationFilter의 내부 동작 과정을 알아보자 (0) 2022.08.03 스프링 디스패처 서블릿(DispatcherServlet)의 개념과 동작흐름 (0) 2022.07.05 [Spring] Spring Config Server와 Git Private Repository 연동 방법 (0) 2022.06.18