limjaein / LetsGetTogether

👫🏻 다같이보자 : 약속관리 웹 PJT
0 stars 0 forks source link

Feature/kakao login - #4 #8

Closed limjaein closed 2 years ago

limjaein commented 2 years ago

리뷰 부탁드립니다 ~

sharhp21 commented 2 years ago

로그인이 어떻게 일어나는지 머리로 이해가 안됨.. ㅠㅠ /oauth2/authorization/kakao 를 호출하면 OAuthService loadUser를 자동으로 호출해주는 건가??

limjaein commented 2 years ago

로그인이 어떻게 일어나는지 머리로 이해가 안됨.. ㅠㅠ /oauth2/authorization/kakao 를 호출하면 OAuthService loadUser를 자동으로 호출해주는 건가??

spring-boot-starter-oauth2-client 라이브러리 사용해서 내부적으로 처리되서 과정이 상세하게 이해는 안될텐데, 이 라이브러리에서 사용되는 객체들로 처리가 되는거야

이 라이브러리를 쓰면 application-oauth.yml 에 관련 경로들을 설정하고, SecurityConfig 파일에서 OAuth 관련 설정을 해야함 application-oauth.yml 에서 설정한 경로들로 인증 요청을 보내는거고, 그 설정값들은 실제로는 org.springframework.security.oauth2.client.registration 객체 변수 값으로 매핑이 되는 것 같아

카카오 로그인 버튼을 클릭하면 카카오 로그인 화면이 출력되면서 여기부터 우리가 처리하는게 아니라 카카오 login rest api 에서 처리해주는거야 우리가 요청을 보내는 부분은 없지만, 위에 설정한 yml, config 파일의 데이터로 spring-boot-starter-oauth2-client 라이브러리가 요청을 대신 보내는 거야

사용자가 로그인하면 인증 서버(카카오)로 부터 인가 코드(authorization code)를 받고, 그 인가코드로 관련 토큰(액세스 토큰, 리프레시 토큰)을 받아서 SecurityConfig.java 에서 후처리 서비스 객체로 설정한 OAuthService.java 의 loadUser가 호출되는 것 같아

관련해서 티스토리에 정리해두긴했는데, 이해안되면 한번 읽어봐주라 다음주 리뷰때 다시 설명해줄게 ! https://jainkku.tistory.com/90