TIL : 백엔드 관점 - 소셜로그인 API 를 장고에서 연결해서 데이터를 받아보자.

Jade J·2021년 4월 5일
0

Django 프로젝트에 로그인 기능을
소셜 로그인으로 구현할 수 있다.

한국에서 가장 많이쓰는 소셜앱중 하나인
카카오의 로그인 API 를 장고와 사용하는 법을 알아본다.

카카오 developers

카카오 로그인 API공식 문서를 보면,
oauth2 기반임을 알 수 있다.

그러므로 , 카카오 문서활용과 더불어
더 보편적으로
oauth2 를 Django 에 적용하는 법을 먼저 알아보자.

OAuth2


다큐멘테이션을 봐도 햇갈린다.

그럴때는 역시 기본으로 돌아가서, 로그인이 정확히 무엇인가부터 살펴보자.

(백엔드 관점 주의)


프론트에서 토큰을 준다 -> 그 토큰을 백에서 받음 -> 
백에서 카카오 한테 걔네가 정한 양식대로 HTTP 리퀘스트를 보내서 토큰이 진짜배긴지 확인->
카카오 에서 200오케이 하면 백은 json정보를 원하는대로 필터해서 가져옴

정도가 되겠다.

프론트에서 access token 을 받는것도 다큐멘테이션에 잘 서술되어 있다.

조금 헷갈릴 수 있다.
내가 짠 코드와 카카오의 access token 처리방법 문서를
밑줄로 비교해 보았다.

위의 코드를 json() 으로 받아서 변수에 저장한다.

dict_response = response_from_kakao.json()

확인을 위해 dict_response 를 print 함수로 출력을 하면 다음과 같이 나온다.

200 오케이 코드로 카카오에게서 온 응답을 볼수 있다.

json 응답을 딕셔너리로 가져왔으니,

키값을 통해서 원하는 데이터를 가져올 수 있다.

    kakao_id = dict_response.get('id')
    nickname = dict_response['properties']['nickname']
    email = dict_response['kakao_account']['email']
    

원하는 데이터를 가져와서 알맞은 이름의 변수에 저장했다.

이제 원래의 로그인, 회원가입 API 로직을 view 에 작성해주면 된다.

profile
개발의 길을 걷자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN