Django 프로젝트에 로그인 기능을
소셜 로그인으로 구현할 수 있다.
한국에서 가장 많이쓰는 소셜앱중 하나인
카카오의 로그인 API 를 장고와 사용하는 법을 알아본다.
카카오 로그인 API공식 문서를 보면,
oauth2 기반임을 알 수 있다.
그러므로 , 카카오 문서활용과 더불어
더 보편적으로
oauth2 를 Django 에 적용하는 법을 먼저 알아보자.
다큐멘테이션을 봐도 햇갈린다.
그럴때는 역시 기본으로 돌아가서, 로그인이 정확히 무엇인가부터 살펴보자.
(백엔드 관점 주의)
프론트에서 토큰을 준다 -> 그 토큰을 백에서 받음 ->
백에서 카카오 한테 걔네가 정한 양식대로 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 에 작성해주면 된다.