소셜 로그인 (Devlog 7일차)

EenSung Kim·2021년 7월 25일
0

"카카오 기반 소셜 로그인"


소셜 로그인

스프린트에서는 깃헙으로 소셜 로그인을 연동했었지만, 아무래도 깃헙은 프로그래머 위주이다 보니 프로젝트에서는 카카오를 사용해 소셜 로그인을 구현해보기로 했습니다.

원래는 네이버를 사용하기로 했는데 API 문서 등이 카카오가 더 쉽게 구현되어 있는 것 같아 카카오로 선회하게 되었습니다. 물론 상대적으로 쉬워 보인다는 것일 뿐, 실제로 진행해보려니 어려운 지점들이 많네요.
(네이버는 테스트 이전에도 이것저것 요구하는 게 많아 바로바로 테스트해보기가 쉽지 않더라구요.)

이것저것 알아보면서 꾸역꾸역 진행한 과정은 다음과 같습니다.

  • api 사용을 위한 기본적인 정보 등록을 진행한다. (앱설정, REST API 키 발급, Redirect URI 저장 등)
  • 소셜 로그인 버튼을 누를 경우 카카오 인증 페이지로 리다이렉트한다.
  • 인증을 통해 Access Token 을 발급받을 코드를 부여받는다.
  • 발급받은 코드로 Access Token 과 Redirect Token 을 발급받는다.
  • Access Token 을 이용해 사용자 정보를 받아온다.

postman 을 사용해 코드를 발급받는 데까지는 확인을 했는데, 그 이후 과정을 진행하지 못했습니다. 아무래도 주말이 지나고 그동안 작성한 코드를 병합한 다음에나 작업을 이어나갈 수 있을 듯 싶네요.

제 3자의 소셜 로그인을 빌려오는 방식이다 보니, 서버나 클라이언트가 단독적으로 일을 진행하기는 쉽지 않은 듯 합니다. 물론 아직 제가 잘 모르는 탓일 수도 있겠지만 말이죠.


소셜 로그인 흐름도

소셜 로그인 흐름도를 간략하게 정리해보겠습니다. 위에서 정리한 과정과 기본적으로는 흡사한 형태입니다.

➜ 클라이언트에서 서버로 소셜 로그인을 진행하기 위한 GET 요청을 보낸다.
➜ 서버는 GET 요청을 받으면 카카오 로그인 동의 화면으로 리다이렉트 한다.
➜ 사용자가 카카오 로그인에 동의할 경우 미리 설정한 Redirect_URI 로 리다이렉트 되고, 인가 코드가 발급된다.
➜ 클라이언트는 인가 코드를 이용해 카카오에 토큰을 요청한다.
➜ 클라이언트는 발급받은 Access Token 을 서버로 전달(POST)한다.
➜ 서버에서 발급받은 Access Token 으로 사용자 정보를 카카오에 요구한다.

앞서 말씀드린대로 중간에서 작업이 멈춘 관계로, 그 이후의 흐름에 대해서는 추가적인 작업이 진행되어야 확인이 가능할 것 같습니다. 조금 더 확실한 자료가 궁금하신 분들을 위해 아래에 참고하고 있는 자료들을 링크로 걸어두도록 하겠습니다.


참고하고 있는 자료들

카카오 로그인 관련 공식 문서

참고자료 1.

참고자료 2.

참고자료 3.

profile
iOS 개발자로 전직하기 위해 공부 중입니다.

0개의 댓글