• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

403 에러

24.02.17 23:50 작성 조회수 123

0

전에도 남겼었는데 이번에 실습을 하면서 AuthorizationCode Grant 를 누르면 인증을 받기 위한 로그인을 하고 나면 403 에러가 발생합니다.

 

그래서 Clientcontroller 에서 만든 로직에다가 breakpoint 를 찍으면서 확인해보면 결과 정보들은 강사님과 똑같이 들어있었습니다.

 

근데 return "/client" 부분만 가면 403 에러가 나와서 화면이 나오질 않는데 어느 부분을 먼저 봐야할까요..?

 

계속 수정해봐도 계속 403 에러가 발생해서 다시 질문드립니다!

답변 1

답변을 작성해보세요.

0

소스를 공유 해 주시면 제가 테스트 해 보도록 하겠습니다

ak4686님의 프로필

ak4686

질문자

2024.02.18

혹시 소스는 어떻게 공유를 해드리면 될까요?

깃헙으로 해 주시면 됩니다

ak4686님의 프로필

ak4686

질문자

2024.02.18

https://github.com/supportlaver/OAuth2.0-Study

해당 링크에 올려놨습니다..!! 감사합니다ㅠ

@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 오류가 났습니다.

사실 이런 부분은 개발자가 의도적으로 발생시킨 오류가 아니기 때문에 찾아내기 쉽지 않을 뿐더러 주요 기능을 처리함에 있어 좀 피곤한 문제들입니다.