[Django] kakaotok login

김영환·2020년 12월 13일
0
post-thumbnail

Django 소셜로그인 reviews

29cm 클론코딩을 진해하면서 팀원들 중 한명이 소셜 로그인을 구현했었다. 그때 미쳐 확실하게 알지 못했던 코드와 진행 과정에대해서 알아보도록하자.

소셜로그인이란?

유저가 별도의 회원가입 없이 유저가 이용하고 있는 소셜 웹사이트의 로그인정보를 사용하여 웹사이트를 로그인계정으로 얻게 되어 회원으로 접근할 수 있는 방법
즉, 특별한 회원가입의 절차를 거치지 않고, 기존에 가입된 웹사이트의 아이디와 패스워드로 이용하고 싶은 다른 사이트에 로그인 할 수 있는 기능

프론트 요청

  1. 소셜 로그인 환경을 구축 및 세팅 한 뒤 해당하는 소셜로그인 플랫폼(카카오)에 로그인을 해달라는 요청을 보낸다.
  2. 로그인에 성공하면 소셜로그인 플랫폼에서 여러가지 요청을 담은 access_token를 보낸다.

로직순서(백앤드)

  1. 프론트엔드에서 유저의 소셜로그인에 필요한 토큰을 전달받는다.
  2. 받은 토근(access_token)을 각각의 소셜 api에 보내서 회원의 정보를 요청
  3. 소셜 플렛폼에서 받은 자료를 json형식으로 저장
  4. json 데이터 중 회원의 고유값을 저장하고 있는 키의 값이 DB에 저장되 있는지 비교
    get_or_create 활용
    4-1. 저장 되있을시 : JsonResponse로 처리완료
    4-2. 저장 안되어있을시 : JSON화한 데이터 필요한 자료를 DB에 저장함과 동시에 처리완료

후기

generate_token(user)가 어디서 튀어나온건지 이해가 안된다. 좀 더 살펴보고 블로그 업데이트 할 예정이다. 어느정도 플로우는 이해가 됫고, 다른 소셜로그인도 페이스북을 제외하고는 어느정도 플로우가 비슷한거 같다. 모델 쪽에서 추가해야되는 부분을 전혀 없고, 문자인증을 할때는 모델쪽에서 추가하고 백앤드가 많은 일을 처리하는거 같다.

0개의 댓글