작성
·
290
0
전에도 남겼었는데 이번에 실습을 하면서 AuthorizationCode Grant 를 누르면 인증을 받기 위한 로그인을 하고 나면 403 에러가 발생합니다.
그래서 Clientcontroller 에서 만든 로직에다가 breakpoint 를 찍으면서 확인해보면 결과 정보들은 강사님과 똑같이 들어있었습니다.
근데 return "/client" 부분만 가면 403 에러가 나와서 화면이 나오질 않는데 어느 부분을 먼저 봐야할까요..?
계속 수정해봐도 계속 403 에러가 발생해서 다시 질문드립니다!
답변 1
0
@Configuration
@EnableWebSecurity
public class OAUthClientConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests(authRequest -> authRequest.requestMatchers("/home","/client","/favicon.ico", "/error").permitAll()
.anyRequest().authenticated())
.oauth2Client(Customizer.withDefaults())
.logout(httpSecurityLogoutConfigurer -> httpSecurityLogoutConfigurer.logoutSuccessUrl("/home"));
return http.build();
}
}
위 클래스에서 "/favicon.ico", "/error" 을 permitAll 을 허용하도록 추가하시면 됩니다.
http://localhost:8081/client 로 리다이렉트 되는 과정에서 http://localhost:8081/favicon.ico
의 요청이 이전에 있었고 이 요청이 http://localhost:8081/client 보다 먼저 처리되고 있어서 그렇습니다.
http://localhost:8081/favicon.ico 요청은 인증받지 못하면 접근이 안되기 때문에 403 오류가 났습니다.
사실 이런 부분은 개발자가 의도적으로 발생시킨 오류가 아니기 때문에 찾아내기 쉽지 않을 뿐더러 주요 기능을 처리함에 있어 좀 피곤한 문제들입니다.
혹시 소스는 어떻게 공유를 해드리면 될까요?