Web/Spring Security

JWT 방식 OAuth2.0 클라이언트 동작 원리

조용우 2025. 2. 26. 16:05
 
무지개 색 순서로 화살표 잘 따라가보기
1. 클라이언트가 소셜 로그인 시도

(/auth/authentication/서비스)

 

2. OAuth2AuthorizationReqeustRedirectFilter에서

소셜 로그인 서비스 인증서버로 인증 요청

 

3. 인증서버에서 클라이언트에게 해당 서비스 로그인 페이지 응답

 

4. 로그인 성공 시, 인증 서버에서 우리 서버 주소로 리다이렉트 후

OAuth2LoginAuthenticationFilter에서 Code 획득

(/login/oauth2/code/서비스)

 

5. OAuth2LoginAuthenticationProvider로 Code를 넘기고, 여기서 인증서버로 코드를 넘겨서 Access 토큰을 발급 받음

 

6. 발급받은 Access 토큰으로  소셜 로그인 서비스 리소스 서버에 유저 정보를 요청. 획득한 유저 정보는 OAuth2Service에서 처리되고, OAuth2User에 담겨져서 로그인 진행

 

7. 로그인 성공 시, 로그인 핸들러에서 유저에게 JWT 토큰 발급

 

8. 앞으로 클라이언트의 모든 요청에 대해서 JWT Filter에서 JWT검증을 통해 인증 및 인가 진행