작성
·
991
0
안녕하세요 강사님. 학습을 하다가 궁금한 점이 있어서 질문을 남깁니다.
타임 리프와 같이 ssr 방식의 카카오 로그인과 현재 강의와 같은 API 방식의 카카오 로그인 방식이 다른데 구글링을 해도 이해가 잘 가지 않아서요..
ssr 방식의 경우 api 방식과 다르게 카카오쪽으로 요청하지 않는것 같은데 어떤 차이가 있을까요..??
답변 1
1
안녕하세요! 서버 사이드렌더링 방식이라고 크게 다른거는 없습니다! 아마 OAuth2 라이브러리를 사용한 자료를 보시지 않았을까 싶은데 해당 라이브러리에서 설정하라는 값만 설정하면 마법같이 소셜로그인이 구현이 되었을 것 입니다. 강의에서 배웠던 그러한 과정들이 OAuth2라이브러리에 구현이 되어있고 관련 코드들과 설정들을 추가해주면 해당 과정들은 라이브러리에서 자동으로 해주고있다고 보시면됩니다. 소셜 서버에서 회원 정보를 가져오고 회원 가입도 진행하고, 로그인이 완료되면 해당 정보를 세션에 저장해서 웹브라우저에 웹 페이지를 출력해줄 것 입니다.
안녕하세요 동규님. 제가 Oauth2 라이브러리를 사용만해보고 안에 구조까지는 따로 학습해보진 않았는데 결국 각 소셜서비스의 API를 호출한다는 것은 똑같기 때문에 강의에서 다룬 내용을 Oauth2에서 해준다고 생각하시면 됙니다!
페이스북이나 구글 로그인 같은 경우는 여러 국가에서 사용하는 서비스이기 때문에 client-id, client-secret 설정 및 security쪽 설정파일을 작성하고, spring security oauth2의 DefaultOAuth2UserService의 loadUser 메소드만 구현해주시면 됩니다.
강의 내용으로 따지면 authorization code를 받아와서 access token발급까지를 라이브러리에서 해준다고 생각해주시면 됩니다.
그리고 loadUser 메소드에서 access token으로 회원 정보를 받아와서 서비스에 회원 등록 처리하는 과정을 구현하면 됩니다. 이 부분은 강의에서 코드로 구현했던 내용과 비슷하네요!
네이버나 카카오 같은 국내 서비스는 scope, authorizationurl, tokenUri, userInfoUri 등 추가 적인 정보들을 좀 더 설정해주어야합니다.
강사님 그러면 강의에서 JWT 토큰 기반 인증 구현에 해당하는 내용은, OAuth2 라이브러리에서 동작하는 내용을 길게 풀어서 설명한 것으로 이해하면 될까요?