<OAuth2UserCustomService.java>
리소스 서버(구글)에서 사용자 정보를 조회(loadUser)하고
users 테이블에 새로 추가or업데이트(saveOrUpdate)
<WebOAuthSecurityConfig.java>
OAuth2관련 다양한 설정(스프링 시큐리티 비활성화, 세션 비활성화, 요청 경로 권한, OAuth로그인 관련 설정 등)
주요역할: /users/login 페이지를 통해 OAuth2 로그인을 설정하고,
OAuth2 인증 요청을 쿠키 기반으로 저장하며,
사용자 정보를 <OAuth2UserCustomService>를 통해 처리합니다.
또한, 로그인 성공 시 <OAuth2SuccessHandler>를 통해 추가적인 처리를 수행합니다.
<OAuthSuccessHandler.java>
OAuth 인증 성공 처리<onAuthenticationSucess>
로그인(인증)이 성공하면 리프레시토큰을 생성하고 db에 저장(SaveRefreshToken),
쿠키에 저장(for 사용자)(addRefreshTokenToCookie)
엑세스 토큰 생성(tokenProvider.java의 메서드 사용), URL 리디렉션(getTargetUrl을 통해 url 가져오고 리디렉션)
<OAuth2AuthorizationRequestBasedOnCookieRepository.java>
로그인 시도할 때 인증요청을 쿠키에 저장(saveAuthorizationRequest)하고
리소스서버에서 인증이 완료되고 애플리케이션으로 리디렉션될 때,
쿠키에서의 저장한 인증요청을 불러와 처리,인증함(loadAuthorizationRequest).
인증이 성공하면 더 이상 해당 요청이 필요하지 않으므로 쿠키 삭제(removeAuthorizationRequest, removeAuthorizationRequestCookies)
'웹개발 > [스프링부트3 백엔드 개발자 되기]' 카테고리의 다른 글
[스프링부트3 백엔드 개발자되기] 06장. 블로그 기획 & API 만들기 (1) 글 작성 기능 추가 (2) | 2024.06.25 |
---|---|
[스트링부트3 백엔드 개발자 되기] 05장 ORM (0) | 2024.06.25 |
[스프링부트3 백엔드 개발자 되기] 스프링부트3와 테스트 (0) | 2024.06.25 |
[스프링부트3 백엔드 개발자 되기] 03장 스프링부트3 구조 이해하기 (0) | 2024.06.20 |
[스프링부트3 백엔드 개발자 되기] 02장 스프링부트3 시작하기 (0) | 2024.06.11 |