본문 바로가기

Dev/Spring Boot

Spring Boot - 카카오 로그인 인가 받기

728x90

 스프링 부트에서는 구글과 페이스북 로그인을 도와주는 하위 프레임워크가 있을 정도. 그러나 우리나라에선 카카오 로그인이 더 대표적입니다. 

 

먼저 우리가 자체적으로 만들어놓으면

 

 

유저(클라이언트)    <--------------> 우리의 서비스(서버)  <-------------------> 데이터베이스

                               로그인 요청

 

 

이렇게 로그인 요청이 들어오면 데이터 베이스에 맞는 정보가 있는 지 확인하고 세션을 만듭니다. 그러나 카카오 로그인 api 서비스를 사용한다면 관계는 이렇게 바뀝니다.

 

유저(리소스 오더)    <--------------> 우리의 서비스(클라이언트)  <---------- -> 카카오 API 서버 <-----------> 카카오 자원 서버

 

그렇다면 유저가 로그인시 이렇게 보일 겁니다.

왜 깨지는지 모르겠지만 저 깨진 걸 카카오 로그인 표시로 봐주세요 ㅎ

 여기서 사용자는 일반 로그인과 카카오 로그인 중 하나를 선택하게 될것이고

일반 로그인을 선택하면 이전에 만든 스프링 시큐리티로 로그인할 것이고 저 깨진 걸 누르면 카카오 로그인이 될겁니다.

이제 코드를 짜보겠습니다.

 

 

사전 설정은 되어있다고 가정 하겠습니다. 

GET 에 있는 링크에 내 애플리케이션에 있는 정보들을 그대로 넣어주면 됩니다. 

 

각자 사용하는 프론트에 하이퍼링크를 달아둡니다.

 그럼 이렇게 자주 봤던 로그인창이 생깁니다. 이후 로그인을 하면 우리가 설정해준 리디렉션 링크로 이동됩니다. 이걸로 로그인이 끝이냐? 그건 아닙니다. 우린 1단계를 했을 뿐이고 이제 이 인증 코드로 카카오 로그인 토큰을 받아와야합니다. 로그인 토큰이 있어야 진짜 사용자의 정보를 가져올 수 있습니다.