문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
앱 ID 1003729OWNERWeb
개발환경 스프링부트 3.2.0
안녕하세요. Spring Security의 FilterChain을 이용하여 카카오 oauth 로그인을 구현하고 있습니다.
카카오 로그인을 시도할 경우 CustomOauth2UserService에 진입하지 못 합니다. 그런데 아래와 같은 redirect-uri까지는 도달합니다.
http://localhost:8080/auth/kakao?code=RK6k9YIf0DuDQLoUVOeusWGgdT7FsXM4m5q46XQ0GRE5e2IE-nVkSxxOU90KPXKYAAABjD0mRdgWphHJzwXJqw&state=gkYEDkB_SZn8jVXEqVy3ujVJL_qabeEn2vB4SVAtmY8%3D
다른 Provider를 통해 로그인 하는 경우, CustomOauth2UserService에 잘 접근하여 회원가입 및 로그인이 가능한 것으로 확인됩니다.
이전 질문 [OAuth2UserService 패싱(?)현상 문의 드립니다](https:// OAuth2UserService 패싱(?)현상 문의 드립니다) 을 참고해보았을 때, yml 파일이 문제될 수 있다는 점을 확인해서 yml 파일도 다시 확인해보았지만 잘못된 부분이 없어보입니다.
혹시 더 확인해보거나 추측할 수 있는 원인이 있을까요?
spring:
security:
oauth2:
client:
registration:
kakao:
client-id: {client-id}
client-secret: {client-secret}
redirect-uri: http://localhost:8080/auth/kakao
client-authentication-method: POST
authorization-grant-type: authorization_code
scope: profile_nickname
client-name: Kakao
provider:
kakao:
authorization-uri: https://kauth.kakao.com/oauth/authorize
token-uri: https://kauth.kakao.com/oauth/token
user-info-uri: https://kapi.kakao.com/v2/user/me
user-name-attribute: id
Spring Security FiterChain
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
.formLogin(AbstractHttpConfigurer::disable)
.httpBasic(AbstractHttpConfigurer::disable)
.csrf(AbstractHttpConfigurer::disable)
.headers(header -> header.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable))
.sessionManagement(sessionManagement -> sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(authorizationManagerRequestMatcherRegistry ->
authorizationManagerRequestMatcherRegistry.anyRequest().permitAll())
.oauth2Login(oauth2 -> {
log.info("oauth2 configure");
oauth2
.failureHandler(oAuth2FailureHandler)
.successHandler(oAuth2LoginSuccessHandler)
.userInfoEndpoint(userInfoEndpointConfig -> userInfoEndpointConfig.userService(customOAuth2UserService));
});
return http.build();
}