L-ilac / springboot-tutorials

0 stars 0 forks source link

OAuth2 로그인 스프링 시큐리티 필터 동작 순서 #5

Closed L-ilac closed 1 year ago

L-ilac commented 1 year ago

스프링 시큐리티에서 사용하는 많은 filter 들이 존재하지만, 직접적인 OAuth2 로그인과 관련된 필터는 아래의 두 개이다.

  1. OAuth2AuthorizationRequestRedirectFilter 에서 OAuth2 로그인을 위한 최초 요청 필터링을 수행한다.

    • localhost:8080/oauth2/authorization/{providerName}로 요청 시 yml에 설정된 provider의 authorization-uri를 이용하여 sendRedirectForAuthorization() 를 호출하고 사용자를 소셜 로그인 페이지로 리다이렉트시킨다.
  2. OAuth2LoginAuthenticationFilter 에서 , Authorization_code로 Access Token을 받아온다.(사용자가 소셜로그인을 성공시)

    • attemptAuthentication() -> ProviderManager 클래스의 authenticate() -> OAuth2LoginAuthenticationProvider 클래스의 authenticate() -> OAuth2AuthorizationCodeAuthenticationProvider 클래스의 authenticate()