오늘은 프로젝트에서 기능 구현한 소셜로그인에 대해서 적어보려한다.
프로젝트 명은 친구찾기 웹사이트로 현 프로젝트에 적용한 소셜로그인은 카카오이다.
사전준비
우선 카카오 로그인을 사용하기 위해서
https://developers.kakao.com/console/app
위와같은 경로로 이동해 로그인 후 회원 가입과 애플리케이션 추가를 진행한다.
위의 과정중 중요한 부분만을 언급하자면 개발중인 서버 주소 입력과 인가토큰을 받게될 Redirecrt URL 설정이 중요하다.
인가토큰을 받게되는 URL은 사용자가 카카오로그인을 성공 했을시 인가코드를 카카오톡으로 부터 받게되는 데 이 인가 코드를 이용해 카카오 서버에 엑세스 토큰을 요청하면 사용자의 정보를 가진 JSON 데이터를 받을 수 있다.
이러한 JSON 데이터를 이용해 클라이언트에 쿠키를 저장하고 해당 정보로 사용자는 서비스를 이용할 수 있다.
RestTemplate
이러한 코드를 구현하기 압서 중요하게 알아둬야할것 있다.
바로 RestTemplate으로 Spring 에서 제공하는 Framework로 원격서버와의 웹 서비스 통신을 처리하는 데 사용된다.
쉽게 이해한 내용으로는 네이버나 카카오톡 과 같은 서버에서 제공하는 데이터들을 해당하는 프로젝트에서 사용하기 위해 가져올 때 사용되는 방법이다.
중요 기능과 사용법은 다음과 같다.
RestTemplate을 사용해 HTTP GET, POST, PUT, DELETE 등의 요청을 서버에 보낸다.
해당 요청을 받은 서버에서 응답 데이터를 받으면 지정한 형식으로 변환하여 사용한다.
데이터 변환은 JSON, XML 등의 다양한 데이터 형식과의 변환을 한다.
해당 글에선 위와같은 이론과 준비만을 다루고 다음 글에서 본격적인 코드를 진행해 보겠다.